@charset "UTF-8";
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Your Name
==============================================================================================*/
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
/*font*/
body {
  color: #333;
  font-size: 14px;
  font-family: 'Fredoka One';
  position: relative;
  overflow-x: hidden;
}

figure {
  margin: 0;
  padding: 0;
}

figure img {
  vertical-align: middle;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input, textarea, select {
  font-size: 12px;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 10px;
  margin: 0;
  color: #666;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type=checkbox], input[type=radio] {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  opacity: 0;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 20px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

/* structure 
----------------------------------------------------------------------------------------------*/
section {
  position: relative;
}

.wrap-lg {
  width: 1370px;
  margin: 0 auto;
}

.wrapper {
  width: 1170px;
  margin: 0 auto;
}

.wrap-sm {
  width: 970px;
  margin: 0 auto;
}

.after_clear:after, header:after, header .wrapper .rh_head:after, .header-perkembangan:after, .header-perkembangan .col:after, .solusi .wrapper:after, .box-info:after, .referensi-nama:after, .kalender-kesuburan:after, .cerita-slider .slide:after, .std-content:after, .std-content .header-detail .wrapper .info .ico:after, .std-content .header-detail .wrapper .user:after, .std-content .inner .content .isi .jawaban .col:after, .infografis-terkait .wrapper:after, .store:after, .sign .login .form form:after, .sign .login .form form .col:after, .label-jk:after, .label-jk a:after, .abjad-slide .content .list:after, .siklus .form-siklus:after, .siklus .kalender:after, .register:after, .register .form-register .row_list:after, .search .info .ico:after, .popup#pakarpage .inpopup .content-pop .list:after, footer .wrapper:after, footer .rh-foot:after, .wrapper:after, section:after {
  clear: both;
  display: block;
  content: " ";
}

.before_clear:before {
  clear: both;
  display: block;
  content: " ";
}

.trigger {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: .5px;
}

/* header
----------------------------------------------------------------------------------------------*/
header {
  position: fixed;
  left: 0;
  right: 0;
  display: block;
  z-index: 9;
  transition: padding 0.3s ease-out;
  -webkit-transition: padding 0.3s ease-out;
  -moz-transition: padding 0.3s ease-out;
  -ms-transition: padding 0.3s ease-out;
  -o-transition: padding 0.3s ease-out;
  background: #fff;
  height: 100px;
  padding: 5px 0;
  box-sizing: border-box;
  top: 0;
}

header .wrapper {
  width: 1600px;
  position: relative;
}

header .wrapper .logo {
  width: 415px;
  float: left;
}

header .wrapper .rh_head {
  float: right;
  position: relative;
  z-index: 3;
  width: auto;
  margin-top: 20px;
}

header .wrapper .rh_head nav {
  float: left;
}

header .wrapper .rh_head nav a {
  font-size: 16px;
  color: #07a5e9;
  margin-left: 0px;
  padding: 10px 15px;
  box-sizing: border-box;
  border-radius: 35px;
}

header .wrapper .rh_head nav a:hover {
  background: #e96ca9;
  color: #fff;
}

header .wrapper .rh_head nav a:hover .ico-user {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

header .wrapper .rh_head nav a.forum {
  display: inline-block;
  padding: 0;
  width: 140px;
  height: 40px;
  vertical-align: middle;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #e96ca9;
  line-height: 40px;
}

header .wrapper .rh_head nav a.forum .user {
  color: #e96ca9;
}

header .wrapper .rh_head nav a.forum:hover .user {
  color: #fff;
}

header .wrapper .rh_head nav .ico-user {
  width: 34px;
  height: 34px;
  border-radius: 37px;
  -webkit-border-radius: 37px;
  -moz-border-radius: 37px;
  -ms-border-radius: 37px;
  -o-border-radius: 37px;
  text-indent: -9999999px;
  position: relative;
  background: url(../images/material/user.png) no-repeat center;
  transition: 0.15s linear all;
  -webkit-transition: 0.15s linear all;
  -moz-transition: 0.15s linear all;
  -ms-transition: 0.15s linear all;
  -o-transition: 0.15s linear all;
  z-index: 2;
  display: inline-block;
  cursor: pointer;
  background-size: 50%;
  top: 0;
  border-radius: 100%;
  vertical-align: top;
}

header .wrapper .rh_head nav ul li {
  display: inline-block;
  position: relative;
}

header .wrapper .rh_head nav ul li a {
  display: block;
}

header .wrapper .rh_head nav ul li .subdrop {
  display: none;
  position: absolute;
  top: 65px;
  left: 50%;
  min-width: 200px;
  max-width: 230px;
  min-height: 50px;
  border-radius: 5px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

header .wrapper .rh_head nav ul li .subdrop:before {
  position: absolute;
  width: 26px;
  height: 12px;
  content: "";
  left: 50%;
  top: 0;
  background: url("../images/material/arr-sub.png") no-repeat 0 0;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

header .wrapper .rh_head nav ul li .subdrop ul {
  background: #fff;
  padding: 10px 0;
  border-radius: 0px 0px 30px 30px;
  border: none;
}

header .wrapper .rh_head nav ul li .subdrop ul li {
  display: block;
  margin: 0;
  padding: 0 27px;
  text-align: center;
}

header .wrapper .rh_head nav ul li .subdrop ul li a {
  padding: 7px 0 7px 0;
  display: block;
  font-size: 14px;
  text-transform: capitalize;
  color: #07a5e9;
  line-height: 16px;
}

header .wrapper .rh_head nav ul li .subdrop ul li a:hover {
  color: #fff;
}

header .wrapper .rh_head nav ul li .subdrop ul li.subdropdown ul {
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  max-width: 230px;
  display: none;
}

header .wrapper .rh_head .box-search {
  position: relative;
  float: left;
  margin: 5px 0 0 40px;
}

header .wrapper .rh_head .box-search .ico-search {
  width: 34px;
  height: 34px;
  border-radius: 37px;
  -webkit-border-radius: 37px;
  -moz-border-radius: 37px;
  -ms-border-radius: 37px;
  -o-border-radius: 37px;
  display: block;
  text-indent: -9999999px;
  position: relative;
  background: #eaeaea url(../images/material/ic-search.png) no-repeat center;
  transition: 0.15s linear all;
  -webkit-transition: 0.15s linear all;
  -moz-transition: 0.15s linear all;
  -ms-transition: 0.15s linear all;
  -o-transition: 0.15s linear all;
  z-index: 2;
  display: block;
  cursor: pointer;
}

header .wrapper .rh_head .socmed {
  float: right;
  margin-left: 200px;
}

header .wrapper .rh_head .socmed a {
  margin-left: 5px;
}

header .wrapper .blockSearch {
  position: absolute;
  width: 390px;
  height: 60px;
  background: #eaeaea;
  top: 100%;
  right: 600px;
  margin-top: -70px;
  opacity: 0;
  z-index: 2;
}

header .wrapper .blockSearch ::-webkit-input-placeholder {
  color: #eaeaea;
}

header .wrapper .blockSearch :-moz-placeholder {
  color: #eaeaea;
}

header .wrapper .blockSearch ::-moz-placeholder {
  color: #eaeaea;
}

header .wrapper .blockSearch :-ms-input-placeholder {
  color: #eaeaea;
}

header .wrapper .blockSearch input[type="text"] {
  float: left;
  width: 320px;
  height: 40px;
  background: #fff;
  padding: 0;
  border: 0;
  color: #000;
  padding: 0 15px;
  font-size: 14px;
  font-weight: 400;
  margin: 10px 0 0 10px;
  font-style: italic;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

header .wrapper .blockSearch input[type="submit"] {
  float: left;
  margin: 10px 0 0 15px;
  width: 30px;
  height: 40px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: url("../images/material/ic-search.png") no-repeat 50% 50%;
}

header .only-mobile, header .search-mobile {
  display: none;
}

header .only-desktop {
  display: block;
}

header .notif-forum.notif-login.only-dektop {
  display: block;
}

/* middle
----------------------------------------------------------------------------------------------*/
.btn_round {
  border: 2px solid #fff;
  border-radius: 35px;
  padding: 15px 40px;
  font-size: 20px;
  color: #fff;
  line-height: 30px;
}

.banner {
  position: relative;
  margin-top: 100px;
}

.banner .slick-slide {
  height: 80vh;
  position: relative;
}

.banner .slick-arrow {
  position: absolute;
  top: 40%;
  width: 50px;
  height: 80px;
  cursor: pointer;
  background-color: #ccc;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  border: none;
  color: transparent;
  z-index: 2;
  padding: 0;
}

.banner .slick-prev {
  background: none;
  border: none;
  font-size: 0;
  width: 60px;
  height: 60px;
  background-image: url(../images/material/slider-left.png);
  left: 50px;
}

.banner .slick-next {
  background: none;
  border: none;
  font-size: 0;
  width: 60px;
  height: 60px;
  background-image: url(../images/material/slider-right.png);
  right: 50px;
}

.banner .slick-dots {
  margin-top: -100px;
  text-align: center;
}

.banner .slick-dots li {
  display: inline-block;
  position: relative;
}

.banner .slick-dots li button {
  margin-top: 10px;
  color: transparent;
  border: none;
  margin-right: 10px;
  background: #fff;
  opacity: 0.5;
  border-radius: 10px;
  padding: 0 4px;
  cursor: pointer;
}

.banner .slick-dots li.slick-active button, .banner .slick-dots li:hover button {
  color: transparent;
  border: none;
  margin-right: 10px;
  background: #fff;
  opacity: 0.8;
}

.banner .caption {
  position: absolute;
  margin-left: 375px;
  color: #2c98a2;
  bottom: 0;
  top: 210px;
  width: 500px;
}

.banner .caption h2 {
  font-size: 60px;
  color: #fff;
  margin-bottom: 25px;
}

.banner .caption h2 span {
  color: #e96ca9;
}

.banner .caption p {
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  margin-bottom: 65px;
}

.banner .btn_round:hover {
  background-color: #fff;
  color: #f8c1d8;
}

.home-content {
  margin-top: 100px;
}

.header-perkembangan .col {
  float: left;
  width: 20%;
  height: 100px;
  display: block;
}

.header-perkembangan .col .images {
  float: left;
  padding: 0px 20px;
  box-sizing: border-box;
}

.header-perkembangan .col span {
  vertical-align: middle;
  float: left;
  margin-top: 20px;
  width: 70px;
  font-size: 14px;
  line-height: 14px;
  text-transform: uppercase;
}

.header-perkembangan .col:nth-child(1) span {
  color: #4ec287;
}

.header-perkembangan .col:nth-child(2) span {
  color: #35a3b0;
}

.header-perkembangan .col:nth-child(3) span {
  color: #d75866;
}

.header-perkembangan .col:nth-child(4) span {
  color: #f29a4e;
}

.header-perkembangan .col:nth-child(5) span {
  color: #9b4274;
}

.solusi {
  position: relative;
}

.solusi .wrapper {
  position: relative;
  padding: 70px 0;
  box-sizing: border-box;
}

.solusi .wrapper:before {
  background: url("../images/material/bd-solusi.png") no-repeat;
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.solusi .wrapper h2 {
  font-size: 30px;
  color: #42558c;
  margin-bottom: 30px;
}

.solusi .wrapper .col {
  float: left;
  position: relative;
  width: 290px;
  height: 360px;
}

.solusi .wrapper .col .inner {
  border: 1px solid #f0f0f0;
  width: 270px;
  height: 330px;
  border-radius: 10px;
  margin: 0;
  transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  -moz-transition: all ease-out 0.2s;
  -ms-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
}

.solusi .wrapper .col .inner .box-ico {
  position: absolute;
  right: 30px;
  top: 10px;
  z-index: 4;
  display: inline-block;
}

.solusi .wrapper .col .inner .ico {
  border-radius: 100%;
  padding: 5px;
  float: right;
  margin-left: 10px;
}

.solusi .wrapper .col .inner .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.solusi .wrapper .col .inner .images-content {
  min-height: 180px;
  height: 180px;
  object-fit: cover;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  margin-bottom: 0;
  position: relative;
}

.solusi .wrapper .col .inner .images-content .minutes {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  font-size: 11px;
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  color: #fff;
  padding: 5px 10px;
}

.solusi .wrapper .col .inner .content {
  padding: 20px;
  box-sizing: border-box;
}

.solusi .wrapper .col .inner .content h4 {
  font-size: 16px;
  line-height: 20px;
  color: #727272;
  height: 65px;
}

.solusi .wrapper .col .inner .content .desc {
  display: none;
}

.solusi .wrapper .col .inner .content .info {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #999999;
}

.solusi .wrapper .col .inner .content .info p {
  margin-bottom: 0;
}

.solusi .wrapper .col .inner .content .info span:before {
  content: "•";
  color: #d1d1d1;
  display: inline-block;
  width: 1em;
}

.solusi .wrapper .col:hover .inner {
  -webkit-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  border-color: transparent;
}

.solusi .wrapper .col:hover .inner .images-content {
  display: none;
}

.solusi .wrapper .col.perkembangan1:hover .inner {
  background-color: #4ec287;
  /*.images-content{ display: none; }*/
}

.solusi .wrapper .col.perkembangan1:hover .inner .ico {
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan1:hover .inner .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.solusi .wrapper .col.perkembangan1:hover .inner .desc {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 18px;
  margin-top: 30px;
}

.solusi .wrapper .col.perkembangan1:hover .inner .content {
  padding: 70px 20px 0;
  position: relative;
}

.solusi .wrapper .col.perkembangan1:hover .inner .content h4, .solusi .wrapper .col.perkembangan1:hover .inner .content .desc, .solusi .wrapper .col.perkembangan1:hover .inner .content .info, .solusi .wrapper .col.perkembangan1:hover .inner .content .info span, .solusi .wrapper .col.perkembangan1:hover .inner .content .info span:before {
  color: #fff;
}

.solusi .wrapper .col.perkembangan1:hover .inner .content .info:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 25px;
  left: 20px;
  top: 180px;
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan1 .ico {
  background-color: #4ec287;
}

.solusi .wrapper .col.perkembangan1 .info {
  color: #44ac94;
}

.solusi .wrapper .col.perkembangan2:hover .inner {
  background-color: #4ea9ad;
  /*.images-content{ display: none; }*/
}

.solusi .wrapper .col.perkembangan2:hover .inner .ico {
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan2:hover .inner .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.solusi .wrapper .col.perkembangan2:hover .inner .desc {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 18px;
  margin-top: 30px;
}

.solusi .wrapper .col.perkembangan2:hover .inner .content {
  padding: 70px 20px 0;
  position: relative;
}

.solusi .wrapper .col.perkembangan2:hover .inner .content h4, .solusi .wrapper .col.perkembangan2:hover .inner .content .desc, .solusi .wrapper .col.perkembangan2:hover .inner .content .info, .solusi .wrapper .col.perkembangan2:hover .inner .content .info span, .solusi .wrapper .col.perkembangan2:hover .inner .content .info span:before {
  color: #fff;
}

.solusi .wrapper .col.perkembangan2:hover .inner .content .info:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 25px;
  left: 20px;
  top: 180px;
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan2 .ico {
  background-color: #4ea9ad;
}

.solusi .wrapper .col.perkembangan2 .info {
  color: #4ea9ad;
}

.solusi .wrapper .col.perkembangan3:hover .inner {
  background-color: #d75866;
  /*.images-content{ display: none; }*/
}

.solusi .wrapper .col.perkembangan3:hover .inner .ico {
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan3:hover .inner .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.solusi .wrapper .col.perkembangan3:hover .inner .desc {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 18px;
  margin-top: 30px;
}

.solusi .wrapper .col.perkembangan3:hover .inner .content {
  padding: 70px 20px 0;
  position: relative;
}

.solusi .wrapper .col.perkembangan3:hover .inner .content h4, .solusi .wrapper .col.perkembangan3:hover .inner .content .desc, .solusi .wrapper .col.perkembangan3:hover .inner .content .info, .solusi .wrapper .col.perkembangan3:hover .inner .content .info span, .solusi .wrapper .col.perkembangan3:hover .inner .content .info span:before {
  color: #fff;
}

.solusi .wrapper .col.perkembangan3:hover .inner .content .info:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 25px;
  left: 20px;
  top: 180px;
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan3 .ico {
  background-color: #d75866;
}

.solusi .wrapper .col.perkembangan3 .info {
  color: #d75866;
}

.solusi .wrapper .col.perkembangan4:hover .inner {
  background-color: #f29a4e;
  /*.images-content{ display: none; }*/
}

.solusi .wrapper .col.perkembangan4:hover .inner .ico {
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan4:hover .inner .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.solusi .wrapper .col.perkembangan4:hover .inner .desc {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 18px;
  margin-top: 30px;
}

.solusi .wrapper .col.perkembangan4:hover .inner .content {
  padding: 70px 20px 0;
  position: relative;
}

.solusi .wrapper .col.perkembangan4:hover .inner .content h4, .solusi .wrapper .col.perkembangan4:hover .inner .content .desc, .solusi .wrapper .col.perkembangan4:hover .inner .content .info, .solusi .wrapper .col.perkembangan4:hover .inner .content .info span, .solusi .wrapper .col.perkembangan4:hover .inner .content .info span:before {
  color: #fff;
}

.solusi .wrapper .col.perkembangan4:hover .inner .content .info:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 25px;
  left: 20px;
  top: 180px;
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan4 .ico {
  background-color: #f29a4e;
}

.solusi .wrapper .col.perkembangan4 .info {
  color: #f29a4e;
}

.solusi .wrapper .col.perkembangan5:hover .inner {
  background-color: #9b4274;
  /*.images-content{ display: none; }*/
}

.solusi .wrapper .col.perkembangan5:hover .inner .ico {
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan5:hover .inner .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.solusi .wrapper .col.perkembangan5:hover .inner .desc {
  display: block;
  font-size: 14px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 18px;
  margin-top: 30px;
}

.solusi .wrapper .col.perkembangan5:hover .inner .content {
  padding: 70px 20px 0;
  position: relative;
}

.solusi .wrapper .col.perkembangan5:hover .inner .content h4, .solusi .wrapper .col.perkembangan5:hover .inner .content .desc, .solusi .wrapper .col.perkembangan5:hover .inner .content .info, .solusi .wrapper .col.perkembangan5:hover .inner .content .info span, .solusi .wrapper .col.perkembangan5:hover .inner .content .info span:before {
  color: #fff;
}

.solusi .wrapper .col.perkembangan5:hover .inner .content .info:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 25px;
  left: 20px;
  top: 180px;
  background-color: #fff;
}

.solusi .wrapper .col.perkembangan5 .ico {
  background-color: #9b4274;
}

.solusi .wrapper .col.perkembangan5 .info {
  color: #9b4274;
}

.solusi .wrapper .col.last-perkembangan .inner {
  background-color: #42558c;
  position: relative;
}

.solusi .wrapper .col.last-perkembangan .inner .ico {
  background-color: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  right: 15px;
  top: 15px;
  padding: 0;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  margin-right: 10px;
  margin-top: 10px;
}

.solusi .wrapper .col.last-perkembangan .inner .ico img {
  -webkit-filter: brightness(0) invert(0);
  filter: brightness(0) invert(0);
  width: auto;
  vertical-align: middle;
}

.solusi .wrapper .col.last-perkembangan .inner .content {
  position: absolute;
  bottom: 0;
}

.solusi .wrapper .col.last-perkembangan .inner .content h4, .solusi .wrapper .col.last-perkembangan .inner .content h2, .solusi .wrapper .col.last-perkembangan .inner .content p {
  color: #fff;
  margin: 0;
}

.solusi .wrapper .col.last-perkembangan .inner .content h4 {
  font-size: 16px;
  line-height: 30px;
  height: auto;
}

.solusi .wrapper .col.last-perkembangan .inner .content h2 {
  font-size: 28px;
  line-height: 20px;
  margin-bottom: 15px;
}

.solusi .wrapper .col.last-perkembangan .inner .content p {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
}

.solusi.noshadow .wrapper {
  padding-top: 0;
}

.solusi.noshadow .wrapper:before {
  display: none;
}

.solusi.hovimage .wrapper .col .inner .images-content img {
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.solusi.hovimage .wrapper .col:hover .inner .images-content {
  display: block;
}

.solusi.hovimage .wrapper .col:hover .inner .images-content img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}

.box-info {
  height: 540px;
  background-image: url("../images/material/bg-pattern.jpg");
  position: relative;
}

.box-info .col {
  float: left;
  position: relative;
  width: 390px;
  margin: 75px 0;
  box-sizing: border-box;
}

.box-info .col .inner {
  width: 370px;
  height: 390px;
  position: relative;
}

.box-info .col .inner .header {
  height: 50px;
}

.box-info .col .inner .header h3 {
  color: #fff;
  font-size: 24px;
  text-align: center;
  line-height: 50px;
}

.box-info .col.infografis {
  border-radius: 10px;
}

.box-info .col.infografis .header {
  background-color: #a22f6e;
  border-radius: 10px 10px 0 0;
  position: absolute;
  top: 0;
  z-index: 3;
  width: 100%;
}

.box-info .col.infografis .btn_round {
  position: absolute;
  top: 45%;
  left: 25%;
  text-align: center;
  background-color: #42558c;
  border: none;
  font-size: 16px;
}

.box-info .col.infografis .images-content {
  position: absolute;
  top: 20px;
}

.box-info .col.infografis .images-content img {
  border-radius: 10px;
}

.box-info .col.forum {
  position: relative;
  border-radius: 10px;
}

.box-info .col.forum .inner {
  background-color: #fff;
  border-radius: 10px;
}

.box-info .col.forum .header {
  background-color: #fa9c08;
  border-radius: 10px 10px 0 0;
}

.box-info .col.forum .btn_round {
  position: absolute;
  top: 50%;
  left: 25%;
  text-align: center;
  background-color: #42558c;
  border: none;
  font-size: 16px;
}

.box-info .col.forum .images-content {
  border-radius: 0 0 10px 10px;
}

.box-info .col.forum .images-content img {
  border-radius: 0 0 10px 10px;
}

.box-info .col.forum .forum-list .see-all {
  color: #42558c;
  font-size: 14px;
  line-height: 40px;
  padding-left: 15px;
}

.box-info .col.forum .forum-list .list {
  border-bottom: 1px solid #eaeaea;
  list-style: none;
  padding: 7px 15px;
  margin-bottom: 0;
  box-sizing: border-box;
}

.box-info .col.forum .forum-list .list p {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #e8579a;
}

.box-info .col.forum .forum-list .list p span {
  color: #999999;
}

.box-info .col.forum .forum-list .list p span:before {
  content: "•";
  color: #d1d1d1;
  display: inline-block;
  width: 1em;
}

.box-info .col.forum .forum-list .list a {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 20px;
  color: #666666;
}

.box-info .col.forum .forum-list .list .box-sort {
  margin: 0;
  margin: 7px 0;
}

.box-info .col.tanya-pakar .header {
  background-color: #f94b3b;
  border-radius: 10px 10px 0 0;
}

.box-info .col.tanya-pakar .inner {
  background-color: #f77e73;
  position: relative;
  border-radius: 10px;
}

.box-info .col.tanya-pakar .image-content {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 7%;
}

.box-info .col.tanya-pakar .content {
  position: absolute;
  bottom: 0;
  background-color: #f94b3b;
  color: #fff;
  width: 90%;
  margin: 0 18px;
  border-radius: 10px 10px 0 0;
  height: 85px;
  text-align: center;
  box-sizing: border-box;
  padding: 15px 0;
}

.box-info .col.tanya-pakar .content p {
  font-size: 16px;
  line-height: 15px;
}

.box-info .col.tanya-pakar .content h3 {
  font-size: 28px;
  line-height: 15px;
}

.referensi-nama {
  height: 960px;
  background: url("../images/material/bg-referensi.png") no-repeat 100px 50px;
}

.referensi-nama .wrapper .inner {
  float: right;
  width: 580px;
  margin-top: 200px;
}

.referensi-nama .wrapper .tittle h4 {
  font-size: 30px;
  color: #42558c;
}

.referensi-nama .wrapper .tittle h1 {
  font-size: 48px;
  line-height: 50px;
  color: #ee7164;
  margin-bottom: 50px;
}

.referensi-nama .wrapper .form-nama {
  width: 570px;
}

.referensi-nama .wrapper .form-nama .left {
  width: 115px;
}

.referensi-nama .wrapper .form-nama h3 {
  font-size: 14px;
  color: #999;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  margin-bottom: 15px;
}

.referensi-nama .wrapper .form-nama .bg {
  width: 112px;
  height: 114px;
  border: 1px solid #aeaeae;
  margin-bottom: 10px;
  border-radius: 10px;
  cursor: pointer;
}

.referensi-nama .wrapper .form-nama .bg.bg-laki {
  background: #FFF url(../images/material/lakilaki.png) no-repeat left center;
}

.referensi-nama .wrapper .form-nama .bg.bg-perempuan {
  background: #FFF url(../images/material/perempuan.png) no-repeat left center;
}

.referensi-nama .wrapper .form-nama label {
  display: block;
  position: relative;
}

.referensi-nama .wrapper .form-nama span {
  position: absolute;
  bottom: 10px;
  left: 0;
  color: #999999;
  right: 0;
  text-align: center;
}

.referensi-nama .wrapper .form-nama label > input {
  visibility: hidden;
  position: absolute;
}

.referensi-nama .wrapper .form-nama label > input + img {
  cursor: pointer;
  border: 2px solid transparent;
  display: block;
  padding: 15px 25px 35px;
  margin-top: 15px;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
}

.referensi-nama .wrapper .form-nama label > input:checked + .bg {
  background-position: right;
  background-color: #feaf08;
  border-radius: 10px;
  color: #fff;
  border: none;
}

.referensi-nama .wrapper .form-nama label > input:checked + .bg + .label {
  color: #fff;
}

.referensi-nama .wrapper .form-nama .right {
  width: 425PX;
}

.referensi-nama .wrapper .form-nama .right .bg {
  width: 54px;
  height: 54px;
  margin-bottom: 3px;
  background: none;
}

.referensi-nama .wrapper .form-nama .right span {
  font-size: 30px;
  left: 18px;
  bottom: 15px;
  text-align: center;
  right: 18px;
}

.referensi-nama .wrapper .form-nama .right label {
  display: inline-block;
}

.referensi-nama .wrapper .form-nama .btn_round {
  background-color: #fa4573;
  width: 100%;
  font-family: "Fredoka One", cursive;
  cursor: pointer;
}

.kalender-kesuburan {
  height: 160px;
  background-color: #a3e2ff;
  padding: 40px 0;
  box-sizing: border-box;
  position: relative;
}

.kalender-kesuburan .ico {
  float: left;
  width: 270px;
}

.kalender-kesuburan .ico img {
  float: left;
  margin-right: 15px;
}

.kalender-kesuburan .ico .tittle {
  color: #e74c3c;
  margin-top: 20px;
}

.kalender-kesuburan .ico .tittle h4 {
  font-size: 30px;
}

.kalender-kesuburan .ico .tittle h5 {
  font-size: 20px;
}

.kalender-kesuburan .form-kalender .col {
  float: right;
  display: grid;
  margin-right: 5px;
  margin-top: -10px;
  /*.date_pick{ width: 310px; height: 30px; border-radius: 5px; border:none; font-family: $lato; font-size: 14px; color: #999;  position: relative;} */
}

.kalender-kesuburan .form-kalender .col input[type="text"] {
  width: 310px;
  height: 30px;
  border-radius: 5px;
  border: none;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  color: #999;
}

.kalender-kesuburan .form-kalender .col label {
  margin-bottom: 5px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 30px;
  color: #3481a5;
}

.kalender-kesuburan .form-kalender .col .rounded-submit {
  margin-top: 35px;
  background-color: #e74c3c;
  font-family: "Fredoka One", cursive;
  font-size: 16px;
  color: #fff;
  height: 50px;
  border-radius: 35px;
  padding: 0 40px;
  cursor: pointer;
}

.kalender-kesuburan .form-kalender .txdate {
  position: relative;
}

.kalender-kesuburan .form-kalender .txdate:before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  width: 60px;
  background: url("../images/material/ic_date.png") no-repeat center;
  cursor: pointer;
}

.kalender-kesuburan .form-kalender .txdate input[type=text] {
  padding-right: 60px;
  background: #FFF url(../images/material/arrow-down.png) no-repeat right;
}

.cerita-slider {
  background-color: #fad5e6;
  margin: 95px 0 50px 0;
  -webkit-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  height: 460px;
  border-radius: 10px;
  position: relative;
}

.cerita-slider .slide .content {
  margin-top: 185px;
  width: 350px;
  margin-left: 70px;
}

.cerita-slider .slide .content h5 {
  font-size: 24px;
  line-height: 30px;
  color: #7978b1;
}

.cerita-slider .slide .content span {
  font-family: "Lato", sans-serif;
  font-style: italic;
  color: #7978b1;
  font-size: 14px;
  line-height: 30px;
  display: block;
  margin-bottom: 10px;
}

.cerita-slider .slide .content p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #333333;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cerita-slider .slide .image-thumb {
  width: 570px;
  margin: 30px 30px 0 0;
  position: relative;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  overflow: hidden;
}

.cerita-slider .slide .image-thumb:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

.cerita-slider .slide .image-thumb img {
  object-fit: cover;
  overflow: hidden;
  width: 100%;
  border-radius: 3px;
}

.cerita-slider .slide .image-thumb .btn-play {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 65px;
  height: 46px;
  background: url("../images/material/btn-play.png") no-repeat center;
  margin: auto;
  cursor: pointer;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.cerita-slider .slide .image-thumb .btn-play:hover {
  opacity: .7;
}

.cerita-slider:before {
  content: "";
  position: absolute;
  background: url("../images/material/pita-before.png") no-repeat;
  height: 238px;
  width: 437px;
  top: -50px;
  left: -49px;
  z-index: 1;
}

.cerita-slider:after {
  content: "";
  position: absolute;
  background: url("../images/material/pita-after.png") no-repeat;
  height: 396px;
  width: 400px;
  right: -35px;
  background-position: right bottom;
  bottom: -150px;
}

.cerita-slider .slick-arrow {
  position: absolute;
  bottom: 20px;
  width: 50px;
  height: 80px;
  cursor: pointer;
  background-color: #ccc;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  border: none;
  color: transparent;
  z-index: 2;
  padding: 0;
}

.cerita-slider .slick-prev {
  background: none;
  border: none;
  font-size: 0;
  width: 33px;
  height: 33px;
  background-image: url(../images/material/slider-left.png);
  left: 50%;
  background-size: 33px;
}

.cerita-slider .slick-next {
  background: none;
  border: none;
  font-size: 0;
  width: 33px;
  height: 33px;
  background-image: url(../images/material/slider-right.png);
  right: 42%;
  background-size: 33px;
}

.cerita-seleb .navslide {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

.cerita-seleb .navslide a {
  display: inline-block;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fdeaf3;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  vertical-align: middle;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.cerita-seleb .navslide a.prev {
  background-image: url(../images/material/prev-slide-pink.png);
  margin-right: 20px;
}

.cerita-seleb .navslide a.next {
  background-image: url(../images/material/next-slide-pink.png);
  margin-left: 20px;
}

.cerita-seleb .navslide a:hover {
  background-color: #f0c4d9;
}

.cerita-seleb .navslide span {
  display: inline-block;
  color: #e7589a;
  font-family: "Lato", sans-serif;
  font-size: 14px;
}

.std-content {
  position: relative;
  margin-top: 185px;
}

.std-content .header-detail .wrapper {
  width: 970px;
}

.std-content .header-detail .wrapper .info {
  margin-bottom: 20px;
}

.std-content .header-detail .wrapper .info .ico {
  border-radius: 100%;
  padding: 5px;
  width: 30px;
  height: 30px;
  text-align: center;
}

.std-content .header-detail .wrapper .info .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  padding-top: 3px;
  box-sizing: border-box;
  vertical-align: middle;
}

.std-content .header-detail .wrapper .info .ico.green {
  background-color: #4ea9ad;
}

.std-content .header-detail .wrapper .info .ico.green img {
  width: 15px;
  padding-top: 5px;
}

.std-content .header-detail .wrapper .info .ico.perkembangan1 {
  background-color: #4ec287;
}

.std-content .header-detail .wrapper .info .ico.perkembangan2 {
  background-color: #4ea9ad;
}

.std-content .header-detail .wrapper .info .ico.perkembangan3 {
  background-color: #d75866;
}

.std-content .header-detail .wrapper .info .ico.perkembangan4 {
  background-color: #f29a4e;
}

.std-content .header-detail .wrapper .info .ico.perkembangan5 {
  background-color: #9b4274;
}

.std-content .header-detail .wrapper .info.orange .ico {
  background-color: #f94b3b;
}

.std-content .header-detail .wrapper .info.orange .ico img {
  width: 20px;
  padding-top: 5px;
}

.std-content .header-detail .wrapper .info.orange p {
  color: #f94b3b;
}

.std-content .header-detail .wrapper .info p {
  padding: 10px 50px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #4ea9ad;
  font-size: 16px;
  line-height: 20px;
}

.std-content .header-detail .wrapper .info p span {
  color: #999999;
  font-weight: 400;
}

.std-content .header-detail .wrapper .info p span:before {
  content: "•";
  color: #d1d1d1;
  display: inline-block;
  width: 15px;
}

.std-content .header-detail .wrapper .tittle {
  font-family: "Fredoka One", cursive;
  font-size: 40px;
  line-height: 55px;
  color: #414042;
  margin-bottom: 10px;
}

.std-content .header-detail .wrapper .user .left p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 55px;
  color: #727272;
}

.std-content .header-detail .wrapper .user .left p span {
  color: #e96ca9;
}

.std-content .header-detail .wrapper .user .right {
  margin-top: 10px;
}

.std-content .header-detail .wrapper .user .right p {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 25px;
}

.std-content .header-detail .wrapper .user .right a {
  margin-left: 35px;
}

.std-content .header-detail .wrapper .user .right a img {
  vertical-align: middle;
}

.std-content .header-detail .wrapper .user .right a img:hover {
  opacity: 0.7;
}

.std-content .inner {
  margin-top: 10px;
}

.std-content .inner .images-content {
  margin-bottom: 55px;
  z-index: 3;
  position: relative;
}

.std-content .inner .images-content img {
  border-radius: 10px;
}

.std-content .inner .content {
  position: relative;
  min-height: 600px;
}

.std-content .inner .content .share {
  left: 375px;
  text-align: center;
  position: fixed;
  right: 0;
  top: 60%;
  width: 85px;
  z-index: 1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.std-content .inner .content .share h3 {
  font-size: 30px;
  line-height: 30px;
  color: #e96ca9;
}

.std-content .inner .content .share p {
  font-size: 12px;
  font-family: "Lato", sans-serif;
  color: #a8a9ae;
}

.std-content .inner .content .isi {
  width: 970px;
  margin: 0 auto;
  margin-bottom: 75px;
}

.std-content .inner .content .isi p {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  line-height: 30px;
  color: #4f4f51;
  margin-bottom: 25px;
}

.std-content .inner .content .isi p span {
  font-size: 32px;
  line-height: 36px;
}

.std-content .inner .content .isi .jawaban {
  margin-top: 60px;
  height: auto;
  border-radius: 35px;
  position: relative;
}

.std-content .inner .content .isi .jawaban:after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 100%;
  background-color: #ccc;
  bottom: -110px;
}

.std-content .inner .content .isi .jawaban .col {
  position: relative;
}

.std-content .inner .content .isi .jawaban .tittle {
  font-size: 25px;
  line-height: 26px;
  color: #666666;
  margin-bottom: 25px;
}

.std-content .inner .content .isi .jawaban .left {
  width: 230px;
  background-color: #f94b3b;
  padding: 60px 50px;
  box-sizing: border-box;
  text-align: center;
  height: 100%;
  border-radius: 5px 0 0px 5px;
  position: absolute;
}

.std-content .inner .content .isi .jawaban .left .images-content {
  background-color: #fff;
  width: 90px;
  height: 90px;
  border-radius: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.std-content .inner .content .isi .jawaban .left .images-content img {
  border-radius: 50%;
  margin: auto;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.std-content .inner .content .isi .jawaban .left p {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #fff;
  margin-top: 20px;
  margin-bottom: 0;
}

.std-content .inner .content .isi .jawaban .left h4 {
  font-family: "Fredoka One", cursive;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
}

.std-content .inner .content .isi .jawaban .right {
  width: 740px;
  background-color: #ececec;
  padding: 40px;
  box-sizing: border-box;
  height: 100%;
  border-radius: 0px 5px 5px 0px;
}

.std-content .inner .content .isi .jawaban .right span {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 30px;
  color: #999999;
}

.std-content .inner .content .isi .jawaban .right p {
  font-size: 18px;
  line-height: 30px;
  color: #4f4f51;
  font-weight: 400;
}

.infografis-terkait .wrapper {
  position: relative;
  padding: 70px 0;
  box-sizing: border-box;
}

.infografis-terkait .wrapper:before {
  background: url("../images/material/bd-solusi.png") no-repeat;
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.infografis-terkait .wrapper h2 {
  font-size: 30px;
  color: #42558c;
  margin-bottom: 30px;
}

.infografis-terkait .wrapper .col {
  float: left;
  position: relative;
  width: 290px;
  height: 350px;
}

.infografis-terkait .wrapper .col .inner {
  border: 1px solid #f0f0f0;
  width: 270px;
  height: 249px;
  border-radius: 10px;
  margin: 0;
  transition: all ease-out 0.25s;
  -webkit-transition: all ease-out 0.25s;
  -moz-transition: all ease-out 0.25s;
  -ms-transition: all ease-out 0.25s;
  -o-transition: all ease-out 0.25s;
}

.infografis-terkait .wrapper .col .inner .ico {
  position: absolute;
  right: 30px;
  top: 10px;
  border-radius: 100%;
  padding: 5px;
}

.infografis-terkait .wrapper .col .inner .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.infografis-terkait .wrapper .col .inner .images-content {
  object-fit: cover;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 0;
}

.infografis-terkait .wrapper .col .inner .content {
  padding: 20px;
  box-sizing: border-box;
}

.infografis-terkait .wrapper .col .inner .content h4 {
  font-size: 16px;
  line-height: 20px;
  color: #727272;
  height: 65px;
}

.infografis-terkait .wrapper .col .inner .content .desc {
  display: none;
}

.infografis-terkait .wrapper .col .inner .content .info {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 12px;
}

.infografis-terkait .wrapper .col .inner .content .info span {
  color: #999999;
}

.infografis-terkait .wrapper .col .inner .content .info span:before {
  content: "•";
  color: #d1d1d1;
  display: inline-block;
  width: 1em;
}

.infografis-terkait .wrapper .col .inner .btn-rounded {
  background: #425590;
  border: 1px solid #425590;
  width: 100%;
}

.infografis-terkait .wrapper .col:hover .inner .btn-rounded {
  background: #fff;
  border: 1px solid #425590;
  width: 100%;
  color: #425590;
}

.pertanyaan-lain {
  margin-top: 170px;
  margin-bottom: 90px;
}

.pertanyaan-lain .tittle {
  margin-bottom: 20px;
  color: #42558c;
}

.store {
  margin: 0 -10px;
}

.store img {
  margin: 0 5px 30px;
  width: 270px;
  vertical-align: middle;
}

.store img:hover {
  opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}

@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}

@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}

.store p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.store .col {
  float: left;
  width: 25%;
  padding: 0 10px;
  box-sizing: border-box;
  margin-bottom: 10px;
}

.sign {
  height: 890px;
  object-fit: cover;
  width: 100%;
  background: url("../images/content/bg-login.jpg") no-repeat;
  background-position: center;
  margin-top: 100px;
}

.sign .login {
  margin-top: 50px;
  background-color: #fff;
  height: auto;
  width: 470px;
  padding: 55px 50px;
  box-sizing: border-box;
  border-radius: 10px;
  -webkit-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
  box-shadow: 10px 10px 18px -4px rgba(0, 0, 0, 0.21);
}

.sign .login .header-login {
  text-align: center;
}

.sign .login .header-login img {
  margin-bottom: 30px;
}

.sign .login .header-login h1 {
  font-size: 40px;
  line-height: 30px;
  color: #333333;
  margin-bottom: 10px;
}

.sign .login .header-login h3 {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  color: #4f4f51;
  margin-bottom: 20px;
}

.sign .login .form form .col {
  width: 370px;
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 0 20px;
  box-sizing: border-box;
  margin-bottom: 10px;
}

.sign .login .form form .col label {
  width: 100px;
  font-size: 16px;
  line-height: 30px;
  color: #3481a5;
  margin-top: 10px;
}

.sign .login .form form .col input {
  width: 60%;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 30px;
  color: #e96ca9;
  border: none;
}

.sign .login .form form .forgot a {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 30px;
  color: #666666;
  text-decoration: underline;
}

.sign .login .form form .btn {
  width: 100%;
  margin-top: 10px;
  height: 50px;
}

.sign .login .form form .regis {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 30px;
  color: #666666;
  margin: 0;
}

.sign .login .form form .regis a {
  text-decoration: underline;
  font-weight: 700;
  color: #00a7eb;
}

.label-jk {
  width: 430px;
  margin: 0 auto;
}

.label-jk a {
  float: left;
  width: 200px;
  height: 80px;
  border: 1px solid #cecece;
  border-radius: 5px;
}

.label-jk a .images-content {
  float: left;
  padding: 10px 0;
  box-sizing: border-box;
}

.label-jk a .images-content.lk .img {
  background: url(../images/material/lakilaki.png) no-repeat left center;
  height: 60px;
  width: 100px;
}

.label-jk a .images-content.pr .img {
  background: url(../images/material/perempuan.png) no-repeat left center;
  height: 60px;
  width: 100px;
}

.label-jk a span {
  line-height: 80px;
  color: #999999;
  font-size: 14px;
}

.label-jk a:first-child {
  margin-right: 25px;
}

.label-jk a.active {
  background-color: #feaf08;
  border: none;
}

.label-jk a.active .images-content.lk .img {
  background: url(../images/material/lakilaki.png) no-repeat right center;
  height: 60px;
  width: 100px;
}

.label-jk a.active .images-content.pr .img {
  background: url(../images/material/perempuan.png) no-repeat right center;
  height: 60px;
  width: 100px;
}

.label-jk a.active span {
  color: #fff;
}

.abjad-slide {
  position: relative;
}

.abjad-slide .slick-arrow {
  position: absolute;
  top: 40%;
  width: 50px;
  height: 80px;
  cursor: pointer;
  background-color: #ccc;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  border: none;
  color: transparent;
  z-index: 2;
  padding: 0;
}

.abjad-slide .slick-prev {
  background: none;
  border: none;
  font-size: 0;
  width: 30px;
  height: 50px;
  background-image: url(../images/material/square-arrow-left.jpg);
  left: -70px;
  top: 0;
}

.abjad-slide .slick-next {
  background: none;
  border: none;
  font-size: 0;
  width: 30px;
  height: 50px;
  background-image: url(../images/material/square-arrow-right.jpg);
  right: -70px;
  top: 0;
}

.abjad-slide .abjad {
  width: 1050px;
  margin: 0 auto;
}

.abjad-slide .abjad .list {
  width: 52px;
  height: 52px;
  border-radius: 5px;
  border: 1px solid #cecece;
  margin-right: 10px;
  text-align: center;
  font-size: 24px;
  color: #999999;
  text-transform: uppercase;
  padding: 12px;
  box-sizing: border-box;
  cursor: pointer;
}

.abjad-slide .abjad .list.slick-current, .abjad-slide .abjad .list:hover {
  background-color: #feaf08;
  color: #fff;
  border: none;
}

.abjad-slide .content {
  margin: 00px 50px 0;
  padding-top: 30px;
  box-sizing: border-box;
  width: 1170px;
}

.abjad-slide .content .list {
  position: relative;
}

.abjad-slide .content .list .name {
  width: 970px;
  margin: 0 auto;
  -webkit-column-count: 2;
  /* Chrome, Safari, Opera */
  -moz-column-count: 2;
  /* Firefox */
  column-count: 2;
  column-gap: 0;
}

.abjad-slide .content .list .name .name-list {
  border-bottom: 1px solid #ccc;
  padding: 30px 0;
  height: 110px;
  box-sizing: border-box;
}

.abjad-slide .content .list .name .name-list h3 {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 28px;
  color: #666666;
}

.abjad-slide .content .list .name .name-list p {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #666666;
  margin-bottom: 0;
}

.abjad-slide .content .list .initial {
  position: absolute;
  margin-top: 30px;
}

.abjad-slide .content .list .initial span {
  font-size: 70px;
  line-height: 50px;
  color: #ee7164;
}

.abjad-slide .content:before {
  background: url("../images/material/bd-solusi.png") no-repeat;
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.siklus .wrapper {
  width: 970px;
  margin: 0 auto;
}

.siklus .form-siklus .col {
  float: left;
  display: grid;
  margin-right: 50px;
  margin-top: -10px;
  width: 47%;
}

.siklus .form-siklus .col input[type="text"] {
  width: 100%;
  height: 60px;
  border-radius: 5px;
  border: none;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #000;
  background-color: #ededed;
  font-weight: 400;
  padding-left: 30px;
  box-sizing: border-box;
}

.siklus .form-siklus .col .date_pick {
  background: #ededed url(../images/material/calendar.png) no-repeat right;
}

.siklus .form-siklus .col label {
  margin-bottom: 5px;
  font-family: "Fredoka One", cursive;
  font-size: 16px;
  line-height: 30px;
  color: #3481a5;
}

.siklus .form-siklus .col .rounded-submit {
  margin-top: 35px;
  background-color: #fa4573;
  font-family: "Fredoka One", cursive;
  font-size: 16px;
  color: #fff;
  height: 50px;
  border-radius: 35px;
  padding: 0 40px;
  text-align: center;
  width: 230px;
  margin: 35px auto 0;
}

.siklus .form-siklus .col.box-btn {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}

.siklus .form-siklus .col:nth-child(2) {
  margin-right: 0;
}

.siklus .informasi {
  position: relative;
  margin-top: 40px;
  padding-top: 50px;
  box-sizing: border-box;
  padding-bottom: 70px;
}

.siklus .informasi h3 {
  font-size: 40px;
  line-height: 30px;
  color: #333333;
  margin-bottom: 35px;
}

.siklus .informasi p {
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  font-family: "Lato", sans-serif;
  color: #666666;
}

.siklus .informasi p span {
  color: #fa4573;
  font-weight: 700;
}

.siklus .informasi:before {
  background: url("../images/material/bd-solusi.png") no-repeat;
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.siklus .informasi:after {
  background: #ee7164;
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 5px;
  width: 100%;
  content: "";
}

.siklus .kalender {
  padding-top: 35px;
  box-sizing: border-box;
}

.siklus .kalender h3 {
  font-size: 48px;
  color: #ee7164;
  line-height: 30px;
  height: 300px;
  border-bottom: 1px solid #ccc;
}

.siklus .kalender .left {
  width: 300px;
}

.siklus .kalender .left .detail ul li {
  font-family: "Lato", sans-serif;
  font-size: 13px;
  color: #666666;
  position: relative;
  width: 300px;
  line-height: 20px;
  margin-top: 20px;
}

.siklus .kalender .left .detail ul li.siklus {
  padding-left: 40px;
  box-sizing: border-box;
  position: relative;
}

.siklus .kalender .left .detail ul li.siklus:before {
  background: #fa4573;
  display: block;
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 100%;
  left: 0;
}

.siklus .kalender .left .detail ul li.ovulasi {
  padding-left: 40px;
  box-sizing: border-box;
  position: relative;
}

.siklus .kalender .left .detail ul li.ovulasi:before {
  background: #00a7eb;
  display: block;
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 100%;
  left: 0;
}

.siklus .kalender .right {
  width: 600px;
}

.register {
  height: 890px;
  object-fit: cover;
  width: 100%;
  background-position: center;
  margin-top: 100px;
}

.register .bg {
  height: 890px;
  width: 675px;
  object-fit: cover;
  background: url("../images/content/bg-login.jpg") no-repeat;
  background-position: -300px 0px;
}

.register .form-register {
  margin-left: 200px;
  margin-top: 120px;
}

.register .form-register .header-login {
  margin-bottom: 65px;
}

.register .form-register .header-login h1 {
  font-size: 40px;
  line-height: 30px;
  color: #333333;
  margin-bottom: 20px;
}

.register .form-register .header-login h3 {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 30px;
}

.register .form-register .row_list {
  width: 885px;
  margin: 0 auto;
}

.register .form-register .row_list .choose {
  position: relative;
}

.register .form-register .row_list .choose:before {
  background-color: #ccc;
  width: 100%;
  height: 1px;
  position: absolute;
  display: block;
  content: "";
  top: 235px;
}

.register .form-register .row_list .col {
  position: relative;
  padding: 0;
  padding-right: 15px;
}

.register .form-register .row_list .col:nth-child(2n+2) {
  padding-right: 0;
  padding-left: 15px;
}

.register .form-register .row_list .col input[type=radio] {
  position: absolute;
  visibility: hidden;
  top: 28px;
  left: -5px;
  z-index: 3;
}

.register .form-register .row_list .col input[type=radio]:checked ~ .check {
  border: 5px solid #fb7597;
}

.register .form-register .row_list .col input[type=radio]:checked ~ label {
  color: #3481a5;
}

.register .form-register .row_list .col .radio-label {
  display: block;
  position: relative;
  font-weight: 300;
  padding: 18px 25px 25px 30px;
  margin: 10px auto;
  height: 16px;
  cursor: pointer;
  -webkit-transition: all 0.25s linear;
  color: #666666;
}

.register .form-register .row_list .col.a-center {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 30px;
  color: #666666;
  margin: 0;
}

.register .form-register .row_list .col.a-center a {
  text-decoration: underline;
  font-weight: 700;
  color: #00a7eb;
}

.register .form-register .row_list .col .check {
  display: block;
  position: absolute;
  border: 5px solid #AAAAAA;
  border-radius: 100%;
  height: 16px;
  width: 16px;
  top: 30px;
  left: 0;
  z-index: 5;
  transition: border .25s linear;
  -webkit-transition: border .25s linear;
}

.register .form-register .row_list .col .check::before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 16px;
  width: 16px;
  top: 5px;
  left: 5px;
  margin: auto;
  transition: background 0.25s linear;
  -webkit-transition: background 0.25s linear;
}

.register .form-register .row_list .col .select-option {
  display: none;
}

#blah {
  width: 150px;
  margin: 20px;
  position: relative;
  border-radius: 100%;
  height: 150px;
  object-fit: cover;
  overflow: hidden;
}

.npost #blah {
  width: 50%;
  border-radius: 0;
  margin-left: 0;
}

.search {
  margin-top: 180px;
}

.search .info {
  margin-bottom: 20px;
}

.search .info .ico {
  border-radius: 100%;
  padding: 5px;
  width: 30px;
  height: 30px;
  text-align: center;
}

.search .info .ico img {
  width: 15px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  padding-top: 8px;
  box-sizing: border-box;
  vertical-align: middle;
}

.search .info .ico.perkembangan2 {
  background-color: #4ea9ad;
}

.search .info p {
  padding: 10px 50px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #4ea9ad;
  font-size: 16px;
  line-height: 20px;
}

.search .form-search {
  border-bottom: 1px solid #e96ca9;
}

.search .form-search input[type=text] {
  background: none;
  font-size: 40px;
  color: #414042;
  font-weight: 300;
  border: none;
  border-bottom: 1px solid #fff;
  line-height: 55px;
  padding-bottom: 25px;
  font-family: "Fredoka One", cursive, sans-serif;
  width: 95%;
}

.search .form-search input[type=text]::-webkit-input-placeholder {
  color: #414042;
}

.search .form-search input[type=text]::-moz-placeholder {
  color: #414042;
}

.search .form-search input[type=text]:-ms-input-placeholder {
  color: #414042;
}

.search .form-search input[type=text]:-moz-placeholder {
  color: #414042;
}

.search .form-search input[type=submit] {
  background: url("../images/material/ico-search.png") no-repeat 50% 50%;
  border: none;
  width: 30px;
}

.search span {
  font-size: 16px;
  color: #727272;
  line-height: 55px;
  font-family: "Lato", sans-serif;
}

.search .search-list {
  margin-top: 40px;
}

.search .search-list .title {
  font-size: 20px;
  font-weight: bold;
  font-family: "Roboto", sans-serif;
  color: #333333;
  line-height: 60px;
}

.search .search-list .description {
  font-size: 18px;
  font-family: "Lato", sans-serif;
  color: #333;
  margin-bottom: 30px;
}

.search .search-list .description p {
  line-height: 30px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.search .search-list .list {
  border-bottom: 1px solid #ccc;
}

.search .pagination {
  margin: 80px 0;
}

.popup#pakarpage .inpopup {
  max-height: 500px;
}

.popup#pakarpage .inpopup .content-pop .list .left {
  width: 40%;
}

.popup#pakarpage .inpopup .content-pop .list .right {
  width: 60%;
}

.popup#pakarpage .inpopup .content-pop .list .spesialis {
  font-size: 16px;
  font-family: "Lato", sans-serif;
}

.popup#pakarpage .inpopup .content-pop .list .title {
  font-size: 20px;
  font-family: "Fredoka One", cursive;
  color: #333;
  margin-bottom: 20px;
}

.popup#pakarpage .inpopup .content-pop .list p {
  font-size: 16px;
}

/* footer
----------------------------------------------------------------------------------------------*/
footer {
  height: 500px;
  background-color: #00a7eb;
}

footer .wrapper {
  width: 1600px;
}

footer .lf-foot {
  float: left;
}

footer .lf-foot .menu {
  padding-top: 100px;
  box-sizing: border-box;
}

footer .lf-foot .menu a {
  font-size: 18px;
  color: #fff;
  line-height: 36px;
}

footer .rh-foot {
  float: right;
  width: auto;
}

footer .rh-foot .mailing {
  float: left;
  text-align: center;
  margin-right: 300px;
  padding-top: 125px;
  width: 570px;
  position: relative;
}

footer .rh-foot .mailing .logo-footer {
  display: none;
}

footer .rh-foot .mailing h3 {
  font-size: 36px;
  color: #fff;
  line-height: 24px;
  margin-bottom: 30px;
}

footer .rh-foot .mailing p {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  color: #fff;
  line-height: 24px;
}

footer .rh-foot .mailing p.alert-tooltip {
  margin-top: 17px;
}

footer .rh-foot .mailing .tooltip {
  width: 300px;
  height: 60px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  background: #0f7da9;
  color: #fff;
  box-sizing: border-box;
  position: absolute;
  display: none;
  border: 0;
  bottom: -80px;
  right: -120px;
  text-align: center;
  opacity: 0;
  -webkit-box-shadow: 5px 7px 25px -7px #1186b9;
}

footer .rh-foot .mailing .tooltip:after {
  content: "";
  display: block;
  width: 118px;
  height: 24px;
  background: url("../images/material/ico-subc-top.png") no-repeat center;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
}

footer .rh-foot .mailing form {
  position: relative;
}

footer .rh-foot .mailing .blockMail.active .tooltip {
  opacity: 1;
  display: block;
}

footer .rh-foot .mailing .blockMail.active .btn-maillist {
  width: 60px;
  height: 60px;
  border-radius: 60px;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  -ms-border-radius: 60px;
  -o-border-radius: 60px;
  background: #e7589a url("../images/material/ceklist.png") no-repeat center;
  border: none;
  position: absolute;
  top: 0;
  right: 10px;
  transition: 0.1s background ease-out;
  -webkit-transition: 0.1s background ease-out;
  -moz-transition: 0.1s background ease-out;
  -ms-transition: 0.1s background ease-out;
  -o-transition: 0.1s background ease-out;
  cursor: pointer;
}

footer .rh-foot .mailing .blockMail.active .btn-maillist:hover {
  background-color: #ca4987;
}

footer .rh-foot .mailing .blockMail ::-webkit-input-placeholder {
  color: #eaeaea;
}

footer .rh-foot .mailing .blockMail :-moz-placeholder {
  color: #eaeaea;
}

footer .rh-foot .mailing .blockMail ::-moz-placeholder {
  color: #eaeaea;
}

footer .rh-foot .mailing .blockMail :-ms-input-placeholder {
  color: #eaeaea;
}

footer .rh-foot .mailing .blockMail input[type="text"] {
  float: left;
  width: 95%;
  height: 60px;
  background: #fff;
  padding: 0;
  border: 0;
  color: #999999;
  padding: 0 15px;
  font-size: 16px;
  letter-spacing: 3px;
  line-height: 36px;
  margin: 10px 0 0 10px;
  font-family: "Fredoka One", cursive;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

footer .rh-foot .mailing .blockMail input[type="submit"] {
  float: left;
  margin: 10px 0 0 -70px;
  width: 80px;
  height: 63px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: url("../images/material/mail-btn.png") no-repeat 50% 50%;
  /*&:active{
                        width: 60px; height: 60px; @include borderRadius(60px); background: #e7589a url('../images/material/ceklist.png') no-repeat center; border: none; position: absolute; top: 0; right: 0; @include transition(0.1s background ease-out);
                        cursor: pointer;
                        &:hover{background-color: #ca4987;}
                        .tooltip{
                            opacity: 1; display: block;
                            p{padding-top: 15px; padding-bottom: 20; font-family: "Fredoka One"; font-size: 14px; font-weight: 400;}
                        }
                    }*/
}

footer .rh-foot .socmed {
  float: right;
  text-align: right;
}

footer .rh-foot .socmed .socmed-footer {
  margin-top: 70px;
}

footer .rh-foot .socmed .socmed-footer a {
  margin-left: 10px;
}

footer .rh-foot .socmed .copy {
  margin-top: 35px;
  color: #fff;
  font-size: 15px;
  line-height: 20px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwic2Fzcy1saWIuc2NzcyIsImJvdXJib24vX2JvdXJib24uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy1mYWxzeS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbnVtYmVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwiYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXN0eWxlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBZb3VyIE5hbWVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbkBpbXBvcnQgXCJzYXNzLWxpYlwiO1xyXG5cclxuYm9keSB7ICBcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdGcmVkb2thIE9uZSc7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuZmlndXJle1xyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG4gICAgaW1ne3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG59XHJcbmltZ3sgYm9yZGVyOjA7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxyXG5wIHtcclxuICAgIG1hcmdpbjogMXB4IDAgMTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEOEQ4RDg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbmlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICBib3JkZXItdG9wLXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xyXG59XHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uICB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuaDEgeyBmb250LXNpemU6IDMycHg7IH1cclxuaDIgeyBmb250LXNpemU6IDI4cHg7IH1cclxuaDMgeyBmb250LXNpemU6IDI0cHg7IH1cclxuaDQgeyBmb250LXNpemU6IDIwcHg7IH0gXHJcbmg1IHsgZm9udC1zaXplOiAxNnB4OyB9IFxyXG5oNiB7IGZvbnQtc2l6ZTogMTRweDsgfVxyXG4vKiBzdHJ1Y3R1cmUgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5zZWN0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi53cmFwLWxnIHt3aWR0aDogMTM3MHB4O21hcmdpbjogMCBhdXRvO31cclxuLndyYXBwZXIge3dpZHRoOiAxMTcwcHg7bWFyZ2luOiAwIGF1dG87fVxyXG4ud3JhcC1zbSB7d2lkdGg6IDk3MHB4O21hcmdpbjogMCBhdXRvO31cclxuLmFmdGVyX2NsZWFyOmFmdGVyLC53cmFwcGVyOmFmdGVyLHNlY3Rpb246YWZ0ZXJ7Y2xlYXI6Ym90aDtkaXNwbGF5OiBibG9jaztjb250ZW50OlwiIFwifVxyXG4uYmVmb3JlX2NsZWFyOmJlZm9yZXtjbGVhcjpib3RoO2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6XCIgXCJ9XHJcbi50cmlnZ2Vye3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBtYXJnaW46IGF1dG87IGhlaWdodDogLjVweDsgfVxyXG5cclxuXHJcbi8qIGhlYWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuaGVhZGVye1xyXG4gICAgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyByaWdodDogMDsgZGlzcGxheTogYmxvY2s7IHotaW5kZXg6IDk7IEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAwLjNzIGVhc2Utb3V0KTsgYmFja2dyb3VuZDogI2ZmZjsgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7IGhlaWdodDogMTAwcHg7IHBhZGRpbmc6IDVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB0b3A6IDA7XHJcbiAgICAud3JhcHBlcnsgXHJcbiAgICAgICAgd2lkdGg6IDE2MDBweDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5sb2dveyB3aWR0aDogNDE1cHg7IGZsb2F0OiBsZWZ0OyB9XHJcbiAgICAgICAgLnJoX2hlYWR7IFxyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMzsgd2lkdGg6IGF1dG87IG1hcmdpbi10b3A6IDIwcHg7IEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgICAgICBuYXZ7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGF7IFxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMwN2E1ZTk7IG1hcmdpbi1sZWZ0OiAwcHg7IHBhZGRpbmc6IDEwcHggMTVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyLXJhZGl1czogMzVweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZTk2Y2E5OyBjb2xvcjogI2ZmZjsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY28tdXNlcnsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuZm9ydW17IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDA7IHdpZHRoOiAxNDBweDsgaGVpZ2h0OiA0MHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB0ZXh0LWFsaWduOiBjZW50ZXI7ICBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgY29sb3I6ICNlOTZjYTk7IGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAudXNlcnsgY29sb3I6ICNlOTZjYTk7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnVzZXJ7IGNvbG9yOiAjZmZmOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNvLXVzZXJ7IHdpZHRoOiAzNHB4O2hlaWdodDogMzRweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzdweCk7dGV4dC1pbmRlbnQ6IC05OTk5OTk5cHg7cG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3VzZXIucG5nKSBuby1yZXBlYXQgY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4xNXMgbGluZWFyIGFsbCk7ei1pbmRleDoyO2Rpc3BsYXk6aW5saW5lLWJsb2NrOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQtc2l6ZTogNTAlOyB0b3A6IDA7IGJvcmRlci1yYWRpdXM6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuICAgICAgICAgICAgICAgIHVsIGxpeyBcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBheyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJkcm9we1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNjVweDsgbGVmdDogNTAlOyBtaW4td2lkdGg6IDIwMHB4OyBtYXgtd2lkdGg6IDIzMHB4OyBtaW4taGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDogMjZweDsgaGVpZ2h0OiAxMnB4OyBjb250ZW50OiBcIlwiOyBsZWZ0OiA1MCU7IHRvcDogMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnItc3ViLnBuZycpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IHBhZGRpbmc6IDEwcHggMDsgYm9yZGVyLXJhZGl1czogMHB4IDBweCAzMHB4IDMwcHg7IGJvcmRlcjpub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDA7IHBhZGRpbmc6IDAgMjdweDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMCA3cHggMDsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTRweDsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzA3YTVlOTsgbGluZS1oZWlnaHQ6IDE2cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyeyBjb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnN1YmRyb3Bkb3duIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDEwMCU7IG1pbi13aWR0aDogMjAwcHg7IG1heC13aWR0aDogMjMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ib3gtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDogbGVmdDsgbWFyZ2luOiA1cHggMCAwIDQwcHg7ICAgXHJcbiAgICAgICAgICAgICAgICAuaWNvLXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7aGVpZ2h0OiAzNHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygzN3B4KTtkaXNwbGF5OiBibG9jazt0ZXh0LWluZGVudDogLTk5OTk5OTlweDtwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6ICNlYWVhZWEgdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9pYy1zZWFyY2gucG5nKSBuby1yZXBlYXQgY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4xNXMgbGluZWFyIGFsbCk7ei1pbmRleDoyO2Rpc3BsYXk6YmxvY2s7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc29jbWVkeyBcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDIwMHB4OyBcclxuICAgICAgICAgICAgICAgIGF7IG1hcmdpbi1sZWZ0OiA1cHg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmxvY2tTZWFyY2ggeyBcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMzkwcHg7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZDogI2VhZWFlYTsgdG9wOjEwMCU7IHJpZ2h0OiA2MDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTcwcHg7IG9wYWNpdHk6IDA7IHotaW5kZXg6IDI7ICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7Y29sb3I6ICNlYWVhZWE7fSAgICBcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMjBweDsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBwYWRkaW5nOiAwOyBib3JkZXI6MDsgXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDsgcGFkZGluZzogMCAxNXB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7ICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgMTBweDsgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDNweCk7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyAgXHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgbWFyZ2luOiAxMHB4IDAgMCAxNXB4OyB3aWR0aDogMzBweDsgaGVpZ2h0OiA0MHB4OyBwYWRkaW5nOiAwOyBib3JkZXI6MDsgIFxyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljLXNlYXJjaC5wbmcnKSBuby1yZXBlYXQgNTAlIDUwJTsgICBcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5vbmx5LW1vYmlsZSwgLnNlYXJjaC1tb2JpbGV7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5vbmx5LWRlc2t0b3B7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAubm90aWYtZm9ydW0ubm90aWYtbG9naW4ub25seS1kZWt0b3B7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbn1cclxuXHJcbi8qIG1pZGRsZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmJ0bl9yb3VuZHtcclxuICAgIGJvcmRlcjoycHggc29saWQgI2ZmZjsgYm9yZGVyLXJhZGl1czogMzVweDtwYWRkaW5nOiAxNXB4IDQwcHg7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNmZmY7IGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG59XHJcbi5iYW5uZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgLnNsaWNrLXNsaWRleyBoZWlnaHQ6IDgwdmg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnNsaWNrLWFycm93e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA0MCU7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDgwcHg7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBmb250LXNpemU6IDA7IGJvcmRlcjogbm9uZTsgY29sb3I6IHRyYW5zcGFyZW50O3otaW5kZXg6IDI7IHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stcHJldntiYWNrZ3JvdW5kOm5vbmU7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDA7d2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9zbGlkZXItbGVmdC5wbmcpOyBsZWZ0OiA1MHB4O31cclxuICAgIC5zbGljay1uZXh0e2JhY2tncm91bmQ6bm9uZTsgYm9yZGVyOm5vbmU7IGZvbnQtc2l6ZTogMDt3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3NsaWRlci1yaWdodC5wbmcpOyByaWdodDogNTBweDt9XHJcbiAgICAuc2xpY2stZG90c3sgXHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgYnV0dG9ue1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7Y29sb3I6IHRyYW5zcGFyZW50O2JvcmRlcjogbm9uZTttYXJnaW4tcmlnaHQ6MTBweDsgIGJhY2tncm91bmQ6ICNmZmY7IG9wYWNpdHk6IDAuNTsgYm9yZGVyLXJhZGl1czogMTBweDtwYWRkaW5nOiAwIDRweDsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgJi5zbGljay1hY3RpdmUsICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBidXR0b257XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlcjogbm9uZTttYXJnaW4tcmlnaHQ6MTBweDsgYmFja2dyb3VuZDogI2ZmZjsgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcHRpb257IFxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgbWFyZ2luLWxlZnQ6IDM3NXB4OyBjb2xvcjogIzJjOThhMjsgYm90dG9tOiAwOyB0b3A6IDIxMHB4OyB3aWR0aDogNTAwcHg7ICBcclxuICAgICAgICBoMnsgXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgIHNwYW57IGNvbG9yOiAjZTk2Y2E5OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7IGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDsgZm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMzBweDsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDY1cHg7IH1cclxuICAgIH1cclxuICAgIC5idG5fcm91bmR7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZmZmOyBjb2xvcjojZjhjMWQ4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uaG9tZS1jb250ZW50e1xyXG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbn1cclxuLmhlYWRlci1wZXJrZW1iYW5nYW57XHJcbiAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIC5jb2x7IFxyXG4gICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogMjAlOyBoZWlnaHQ6IDEwMHB4OyAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7ZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLmltYWdlc3sgZmxvYXQ6IGxlZnQ7IHBhZGRpbmc6IDBweCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgc3BhbnsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi10b3A6IDIwcHg7IHdpZHRoOiA3MHB4OyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxNHB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSkgc3BhbnsgY29sb3I6ICM0ZWMyODcgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHNwYW57IGNvbG9yOiAjMzVhM2IwIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSBzcGFueyBjb2xvcjogI2Q3NTg2NiB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoNCkgc3BhbnsgY29sb3I6ICNmMjlhNGUgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDUpIHNwYW57IGNvbG9yOiAjOWI0Mjc0IH1cclxuICAgIH1cclxufVxyXG4uc29sdXNpe1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiA3MHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgICY6YmVmb3JleyBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JkLXNvbHVzaS5wbmcnKSBuby1yZXBlYXQ7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgY29udGVudDogXCJcIjt9XHJcbiAgICAgICAgaDJ7IGZvbnQtc2l6ZTogMzBweDsgY29sb3I6ICM0MjU1OGM7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuY29se1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjkwcHg7IGhlaWdodDogMzYwcHg7XHJcbiAgICAgICAgICAgIC5pbm5lcntcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2YwZjBmMDsgd2lkdGg6IDI3MHB4OyBoZWlnaHQ6IDMzMHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBtYXJnaW46IDA7QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4ycyk7XHJcbiAgICAgICAgICAgICAgICAuYm94LWljb3tcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAzMHB4OyB0b3A6MTBweDsgei1pbmRleDogNDsgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyBwYWRkaW5nOiA1cHg7IGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1neyB3aWR0aDogMjVweDsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7IFxyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4OyBoZWlnaHQ6IDE4MHB4OyBvYmplY3QtZml0OiBjb3Zlcjsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgbWFyZ2luLWJvdHRvbTogMDtwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1pbnV0ZXN7cG9zaXRpb246IGFic29sdXRlO2JvdHRvbTogMTBweDtyaWdodDogMTBweDtiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7Zm9udC1zaXplOiAxMXB4O2ZvbnQtZmFtaWx5OiAkcm9ib3RvO2ZvbnQtd2VpZ2h0OiA5MDA7Y29sb3I6ICR3aGl0ZTtwYWRkaW5nOiA1cHggMTBweDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY29udGVudHsgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgXHJcbiAgICAgICAgICAgICAgICAgICAgaDR7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGNvbG9yOiAjNzI3MjcyOyBoZWlnaHQ6IDY1cHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3sgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbmZve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTJweDtjb2xvcjogIzk5OTk5OTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7IGNvbnRlbnQ6IFwi4oCiXCI7IGNvbG9yOiAjZDFkMWQxOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAuaW5uZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxMHB4IDEwcHggMThweCAtNHB4IHJnYmEoMCwwLDAsMC4yMSk7IC1tb3otYm94LXNoYWRvdzogMTBweCAxMHB4IDE4cHggLTRweCByZ2JhKDAsMCwwLDAuMjEpOyBib3gtc2hhZG93OiAxMHB4IDEwcHggMThweCAtNHB4IHJnYmEoMCwwLDAsMC4yMSk7IGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wZXJrZW1iYW5nYW4xe1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAuaW5uZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZWMyODc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qLmltYWdlcy1jb250ZW50eyBkaXNwbGF5OiBub25lOyB9Ki9cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWd7IC13ZWJraXQtZmlsdGVyOnVuc2V0OyBmaWx0ZXI6IHVuc2V0OyAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxOHB4OyBtYXJnaW4tdG9wOiAzMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50eyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMjBweCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoNCwgLmRlc2MsIC5pbmZvLCAuaW5mbyBzcGFuLCAuaW5mbyBzcGFuOmJlZm9yZXsgY29sb3I6I2ZmZjsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmluZm86YmVmb3JleyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMnB4OyB3aWR0aDogMjVweDsgbGVmdDogMjBweDsgdG9wOiAxODBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNveyBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVjMjg3OyB9XHJcbiAgICAgICAgICAgICAgICAuaW5mb3sgY29sb3I6ICM0NGFjOTQ7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjJ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbm5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRlYTlhZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyouaW1hZ2VzLWNvbnRlbnR7IGRpc3BsYXk6IG5vbmU7IH0qL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ3sgLXdlYmtpdC1maWx0ZXI6dW5zZXQ7IGZpbHRlcjogdW5zZXQ7ICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2N7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDE4cHg7IG1hcmdpbi10b3A6IDMwcHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnR7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNzBweCAyMHB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg0LCAuZGVzYywgLmluZm8sIC5pbmZvIHNwYW4sIC5pbmZvIHNwYW46YmVmb3JleyBjb2xvcjojZmZmOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5mbzpiZWZvcmV7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAycHg7IHdpZHRoOiAyNXB4OyBsZWZ0OiAyMHB4OyB0b3A6IDE4MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pY297IGJhY2tncm91bmQtY29sb3I6ICM0ZWE5YWQ7IH1cclxuICAgICAgICAgICAgICAgIC5pbmZveyBjb2xvcjogIzRlYTlhZDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGVya2VtYmFuZ2FuM3tcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmlubmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDc1ODY2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKi5pbWFnZXMtY29udGVudHsgZGlzcGxheTogbm9uZTsgfSovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY297XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1neyAtd2Via2l0LWZpbHRlcjp1bnNldDsgZmlsdGVyOiB1bnNldDsgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3sgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMThweDsgbWFyZ2luLXRvcDogMzBweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY29udGVudHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3MHB4IDIwcHggMDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDQsIC5kZXNjLCAuaW5mbywgLmluZm8gc3BhbiwgLmluZm8gc3BhbjpiZWZvcmV7IGNvbG9yOiNmZmY7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbmZvOmJlZm9yZXsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDJweDsgd2lkdGg6IDI1cHg7IGxlZnQ6IDIwcHg7IHRvcDogMTgwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmljb3sgYmFja2dyb3VuZC1jb2xvcjogI2Q3NTg2NjsgfVxyXG4gICAgICAgICAgICAgICAgLmluZm97IGNvbG9yOiAjZDc1ODY2OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wZXJrZW1iYW5nYW40e1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAuaW5uZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMjlhNGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qLmltYWdlcy1jb250ZW50eyBkaXNwbGF5OiBub25lOyB9Ki9cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWd7IC13ZWJraXQtZmlsdGVyOnVuc2V0OyBmaWx0ZXI6IHVuc2V0OyAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxOHB4OyBtYXJnaW4tdG9wOiAzMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50eyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMjBweCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoNCwgLmRlc2MsIC5pbmZvLCAuaW5mbyBzcGFuLCAuaW5mbyBzcGFuOmJlZm9yZXsgY29sb3I6I2ZmZjsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmluZm86YmVmb3JleyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMnB4OyB3aWR0aDogMjVweDsgbGVmdDogMjBweDsgdG9wOiAxODBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNveyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI5YTRlOyB9XHJcbiAgICAgICAgICAgICAgICAuaW5mb3sgY29sb3I6ICNmMjlhNGU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjV7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbm5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliNDI3NDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyouaW1hZ2VzLWNvbnRlbnR7IGRpc3BsYXk6IG5vbmU7IH0qL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ3sgLXdlYmtpdC1maWx0ZXI6dW5zZXQ7IGZpbHRlcjogdW5zZXQ7ICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2N7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDE4cHg7IG1hcmdpbi10b3A6IDMwcHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnR7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNzBweCAyMHB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg0LCAuZGVzYywgLmluZm8sIC5pbmZvIHNwYW4sIC5pbmZvIHNwYW46YmVmb3JleyBjb2xvcjojZmZmOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5mbzpiZWZvcmV7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAycHg7IHdpZHRoOiAyNXB4OyBsZWZ0OiAyMHB4OyB0b3A6IDE4MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pY297IGJhY2tncm91bmQtY29sb3I6ICM5YjQyNzQ7IH1cclxuICAgICAgICAgICAgICAgIC5pbmZveyBjb2xvcjogIzliNDI3NDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubGFzdC1wZXJrZW1iYW5nYW57XHJcbiAgICAgICAgICAgICAgICAuaW5uZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNTU4YzsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY297XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7cmlnaHQ6IDE1cHg7dG9wOiAxNXB4O3BhZGRpbmc6IDA7d2lkdGg6IDMwcHg7aGVpZ2h0OiAzMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O3RleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7LXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDApO2ZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMCk7d2lkdGg6IGF1dG87dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaDQsIGgyLHB7IGNvbG9yOiAjZmZmOyBtYXJnaW46IDA7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaDR7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGhlaWdodDogYXV0bzsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoMnsgZm9udC1zaXplOiAyOHB4OyBsaW5lLWhlaWdodDogMjBweDsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBweyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDMwcHg7IH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ub3NoYWRvd3tcclxuICAgICAgICAud3JhcHBlcntcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7ZGlzcGxheTpub25lO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmhvdmltYWdle1xyXG4gICAgICAgIC53cmFwcGVye1xyXG4gICAgICAgICAgICAuY29se1xyXG4gICAgICAgICAgICAgICAgLmlubmVye1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZXMtY29udGVudHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1ne0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmlubmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ3tAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYm94LWluZm97XHJcbiAgICBoZWlnaHQ6IDU0MHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9iZy1wYXR0ZXJuLmpwZycpOyBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmNvbHtcclxuICAgICAgICBmbG9hdDogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMzkwcHg7IG1hcmdpbjogNzVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIC5pbm5lcnsgXHJcbiAgICAgICAgICAgIHdpZHRoOiAzNzBweDsgaGVpZ2h0OiAzOTBweDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAuaGVhZGVye1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgaDN7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDI0cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDUwcHg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluZm9ncmFmaXN7XHJcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgLmhlYWRlcnsgYmFja2dyb3VuZC1jb2xvcjogI2EyMmY2ZTsgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHotaW5kZXg6IDM7IHdpZHRoOiAxMDAlO31cclxuICAgICAgICAgICAgLmJ0bl9yb3VuZHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDQ1JTsgbGVmdDogMjUlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQtY29sb3I6ICM0MjU1OGM7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDE2cHg7fVxyXG4gICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7IFxyXG4gICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGltZ3sgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZvcnVte1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIC5pbm5lcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgfVxyXG4gICAgICAgICAgICAuaGVhZGVyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmE5YzA4OyBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO31cclxuICAgICAgICAgICAgLmJ0bl9yb3VuZHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogMjUlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQtY29sb3I6ICM0MjU1OGM7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDE2cHg7fVxyXG4gICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7IFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsgXHJcbiAgICAgICAgICAgICAgICBpbWd7ICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcnVtLWxpc3R7XHJcbiAgICAgICAgICAgICAgICAuc2VlLWFsbHsgY29sb3I6ICM0MjU1OGM7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDQwcHg7IHBhZGRpbmctbGVmdDogMTVweDsgfVxyXG4gICAgICAgICAgICAgICAgLmxpc3R7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYWVhZWE7IGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDdweCAxNXB4OyA7bWFyZ2luLWJvdHRvbTogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgICAgICBweyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogI2U4NTc5YTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTk5OTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JleyBjb250ZW50OiBcIuKAolwiOyBjb2xvcjogI2QxZDFkMTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBheyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGNvbG9yOiAjNjY2NjY2IH1cclxuICAgICAgICAgICAgICAgICAgICAuYm94LXNvcnR7IG1hcmdpbjogMDsgbWFyZ2luOiA3cHggMDsgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGFueWEtcGFrYXJ7XHJcbiAgICAgICAgICAgIC5oZWFkZXJ7IGJhY2tncm91bmQtY29sb3I6ICNmOTRiM2I7ICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwOyB9XHJcbiAgICAgICAgICAgIC5pbm5lcnsgYmFja2dyb3VuZC1jb2xvcjogI2Y3N2U3MzsgcG9zaXRpb246IHJlbGF0aXZlOyBib3JkZXItcmFkaXVzOiAxMHB4O31cclxuICAgICAgICAgICAgLmltYWdlLWNvbnRlbnR7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IGxlZnQ6IDclOyB9XHJcbiAgICAgICAgICAgIC5jb250ZW50eyBcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk0YjNiOyBjb2xvcjogI2ZmZjsgd2lkdGg6IDkwJTsgbWFyZ2luOiAwIDE4cHg7IGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IGhlaWdodDogODVweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBweyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxNXB4OyB9XHJcbiAgICAgICAgICAgICAgICBoM3sgZm9udC1zaXplOiAyOHB4OyBsaW5lLWhlaWdodDogMTVweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5yZWZlcmVuc2ktbmFtYXtcclxuICAgIGhlaWdodDogOTYwcHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JnLXJlZmVyZW5zaS5wbmcnKSBuby1yZXBlYXQgMTAwcHggNTBweDsgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICAud3JhcHBlcntcclxuICAgICAgICAuaW5uZXJ7IGZsb2F0OiByaWdodDsgd2lkdGg6IDU4MHB4OyBtYXJnaW4tdG9wOiAyMDBweDsgfVxyXG4gICAgICAgIC50aXR0bGV7XHJcbiAgICAgICAgICAgIGg0eyBmb250LXNpemU6IDMwcHg7IGNvbG9yOiAjNDI1NThjOyB9XHJcbiAgICAgICAgICAgIGgxeyBmb250LXNpemU6IDQ4cHg7IGxpbmUtaGVpZ2h0OiA1MHB4OyBjb2xvcjogI2VlNzE2NDsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1uYW1he1xyXG4gICAgICAgICAgICB3aWR0aDogNTcwcHg7XHJcbiAgICAgICAgICAgIC5sZWZ0eyB3aWR0aDogMTE1cHg7IH1cclxuICAgICAgICAgICAgaDN7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM5OTk7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxyXG4gICAgICAgICAgICAuYmd7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEycHg7aGVpZ2h0OiAxMTRweDsgYm9yZGVyOjFweCBzb2xpZCAjYWVhZWFlOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmLmJnLWxha2l7IGJhY2tncm91bmQ6I0ZGRiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL2xha2lsYWtpLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyOyB9XHJcbiAgICAgICAgICAgICAgICAmLmJnLXBlcmVtcHVhbnsgYmFja2dyb3VuZDojRkZGIHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvcGVyZW1wdWFuLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWx7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgICAgICAgICAgc3BhbnsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDEwcHg7IGxlZnQ6IDA7IGNvbG9yOiAjOTk5OTk5OyByaWdodDogMDt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG4gICAgICAgICAgICBsYWJlbCA+IGlucHV0eyBcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYWJlbCA+IGlucHV0ICsgaW1neyBjdXJzb3I6cG9pbnRlcjsgYm9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDE1cHggMjVweCAzNXB4OyBtYXJnaW4tdG9wOiAxNXB4OyBib3JkZXI6MXB4IHNvbGlkICNkY2RjZGM7IGJvcmRlci1yYWRpdXM6IDEwcHg7ICB9XHJcbiAgICAgICAgICAgIGxhYmVsID4gaW5wdXQ6Y2hlY2tlZCArIC5iZyB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OyBiYWNrZ3JvdW5kLWNvbG9yOiNmZWFmMDg7Ym9yZGVyLXJhZGl1czogMTBweDsgY29sb3I6ICNmZmY7IGJvcmRlcjpub25lO31cclxuICAgICAgICAgICAgbGFiZWwgPiBpbnB1dDpjaGVja2VkICsuYmcgKyAubGFiZWx7IGNvbG9yOiAjZmZmOyB9XHJcbiAgICAgICAgICAgIC5yaWdodHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MjVQWDtcclxuICAgICAgICAgICAgICAgIC5iZ3sgd2lkdGg6IDU0cHg7IGhlaWdodDogNTRweDsgbWFyZ2luLWJvdHRvbTogM3B4OyBiYWNrZ3JvdW5kOm5vbmU7IH1cclxuICAgICAgICAgICAgICAgIHNwYW57IGZvbnQtc2l6ZTogMzBweDsgbGVmdDogMThweDsgYm90dG9tOiAxNXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7cmlnaHQ6IDE4cHg7fVxyXG4gICAgICAgICAgICAgICAgbGFiZWx7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idG5fcm91bmR7IGJhY2tncm91bmQtY29sb3I6ICNmYTQ1NzM7IHdpZHRoOiAxMDAlOyBmb250LWZhbWlseTogJGZyZWRva2E7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmthbGVuZGVyLWtlc3VidXJhbntcclxuICAgIGhlaWdodDogMTYwcHg7IGJhY2tncm91bmQtY29sb3I6ICNhM2UyZmY7IEBleHRlbmQgLmFmdGVyX2NsZWFyOyBwYWRkaW5nOiA0MHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5pY297IFxyXG4gICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogMjcwcHg7XHJcbiAgICAgICAgaW1neyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XHJcbiAgICAgICAgLnRpdHRsZXtcclxuICAgICAgICAgICAgY29sb3I6ICNlNzRjM2M7IG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIGg0eyBmb250LXNpemU6IDMwcHg7IH1cclxuICAgICAgICAgICAgaDV7IGZvbnQtc2l6ZTogMjBweDsgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWthbGVuZGVye1xyXG4gICAgICAgIC5jb2x7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgZGlzcGxheTogZ3JpZDsgbWFyZ2luLXJpZ2h0OiA1cHg7IG1hcmdpbi10b3A6IC0xMHB4OyBcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl17IHdpZHRoOiAzMTBweDsgaGVpZ2h0OiAzMHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlcjpub25lOyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICM5OTk7IH1cclxuICAgICAgICAgICAgLyouZGF0ZV9waWNreyB3aWR0aDogMzEwcHg7IGhlaWdodDogMzBweDsgYm9yZGVyLXJhZGl1czogNXB4OyBib3JkZXI6bm9uZTsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjOTk5OyAgcG9zaXRpb246IHJlbGF0aXZlO30gKi9cclxuICAgICAgICAgICAgbGFiZWx7IG1hcmdpbi1ib3R0b206IDVweDsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzM0ODFhNTsgfVxyXG4gICAgICAgICAgICAucm91bmRlZC1zdWJtaXR7IG1hcmdpbi10b3A6IDM1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlNzRjM2M7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYTsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogI2ZmZjsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiAzNXB4OyBwYWRkaW5nOiAwIDQwcHg7IGN1cnNvcjogcG9pbnRlcjt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50eGRhdGV7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7IHJpZ2h0OiAwOyBib3R0b206IDA7IHdpZHRoOiA2MHB4OyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19kYXRlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjt9XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF17cGFkZGluZy1yaWdodDogNjBweDsgYmFja2dyb3VuZDojRkZGIHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctZG93bi5wbmcpIG5vLXJlcGVhdCByaWdodDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jZXJpdGEtc2xpZGVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDVlNjsgbWFyZ2luOiA5NXB4IDAgNTBweCAwOyAtd2Via2l0LWJveC1zaGFkb3c6IDEwcHggMTBweCAxOHB4IC00cHggcmdiYSgwLDAsMCwwLjIxKTsgLW1vei1ib3gtc2hhZG93OiAxMHB4IDEwcHggMThweCAtNHB4IHJnYmEoMCwwLDAsMC4yMSk7IGJveC1zaGFkb3c6IDEwcHggMTBweCAxOHB4IC00cHggcmdiYSgwLDAsMCwwLjIxKTtoZWlnaHQ6IDQ2MHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuc2xpZGV7ICBcclxuICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgXHJcbiAgICAgICAgLmNvbnRlbnR7IFxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxODVweDsgd2lkdGg6IDM1MHB4OyBtYXJnaW4tbGVmdDogNzBweDsgXHJcbiAgICAgICAgICAgIGg1eyBmb250LXNpemU6IDI0cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjojNzk3OGIxO31cclxuICAgICAgICAgICAgc3BhbnsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiM3OTc4YjE7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGRpc3BsYXk6IGJsb2NrO21hcmdpbi1ib3R0b206IDEwcHg7fVxyXG4gICAgICAgICAgICBweyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGNvbG9yOiAjMzMzMzMzOyBkaXNwbGF5OiAtd2Via2l0LWJveDsgLXdlYmtpdC1saW5lLWNsYW1wOiA2OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS10aHVtYnsgXHJcbiAgICAgICAgICAgIHdpZHRoOiA1NzBweDttYXJnaW46IDMwcHggMzBweCAwIDA7cG9zaXRpb246IHJlbGF0aXZlO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO2JvdHRvbTogMDtiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7fVxyXG4gICAgICAgICAgICBpbWd7IG9iamVjdC1maXQ6IGNvdmVyOyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgYm9yZGVyLXJhZGl1czogM3B4O30gIFxyXG4gICAgICAgICAgICAuYnRuLXBsYXl7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7cmlnaHQ6IDA7Ym90dG9tOiAwO3dpZHRoOiA2NXB4O2hlaWdodDogNDZweDtiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9idG4tcGxheS5wbmcnKW5vLXJlcGVhdCBjZW50ZXI7bWFyZ2luOiBhdXRvO2N1cnNvcjogcG9pbnRlcjtAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntvcGFjaXR5Oi43O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YmVmb3JleyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL3BpdGEtYmVmb3JlLnBuZycpIG5vLXJlcGVhdDsgaGVpZ2h0OiAyMzhweDsgd2lkdGg6IDQzN3B4OyB0b3A6IC01MHB4OyBsZWZ0OiAtNDlweDsgei1pbmRleDogMSB9XHJcbiAgICAmOmFmdGVyeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL3BpdGEtYWZ0ZXIucG5nJykgbm8tcmVwZWF0OyBoZWlnaHQ6IDM5NnB4OyB3aWR0aDogNDAwcHg7IHJpZ2h0OiAtMzVweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207IGJvdHRvbTogLTE1MHB4OyB9XHJcbiAgICAuc2xpY2stYXJyb3d7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDIwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDgwcHg7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBmb250LXNpemU6IDA7IGJvcmRlcjogbm9uZTsgY29sb3I6IHRyYW5zcGFyZW50O3otaW5kZXg6IDI7IHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stcHJldntiYWNrZ3JvdW5kOm5vbmU7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDA7d2lkdGg6IDMzcHg7IGhlaWdodDogMzNweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9zbGlkZXItbGVmdC5wbmcpOyBsZWZ0OiA1MCU7IGJhY2tncm91bmQtc2l6ZTogMzNweDt9XHJcbiAgICAuc2xpY2stbmV4dHtiYWNrZ3JvdW5kOm5vbmU7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDA7d2lkdGg6IDMzcHg7IGhlaWdodDogMzNweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9zbGlkZXItcmlnaHQucG5nKTsgcmlnaHQ6IDQyJTsgYmFja2dyb3VuZC1zaXplOiAzM3B4O31cclxufVxyXG4uY2VyaXRhLXNlbGVie1xyXG4gICAgLm5hdnNsaWRle1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IDIwcHg7bGVmdDogNTAlO0BpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDMycHg7IGhlaWdodDogMzJweDsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjogI2ZkZWFmMztAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7dmVydGljYWwtYWxpZ246IG1pZGRsZTtAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAmLnByZXZ7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9wcmV2LXNsaWRlLXBpbmsucG5nKTttYXJnaW4tcmlnaHQ6IDIwcHg7fVxyXG4gICAgICAgICAgICAmLm5leHR7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9uZXh0LXNsaWRlLXBpbmsucG5nKTttYXJnaW4tbGVmdDogMjBweDt9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVye2JhY2tncm91bmQtY29sb3I6ICNmMGM0ZDk7fVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFue2Rpc3BsYXk6IGlubGluZS1ibG9jaztjb2xvcjogI2U3NTg5YTtmb250LWZhbWlseTogJGxhdG87Zm9udC1zaXplOiAxNHB4O31cclxuICAgIH1cclxufVxyXG4uc3RkLWNvbnRlbnR7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDE4NXB4OyAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICAuaGVhZGVyLWRldGFpbHtcclxuICAgICAgICAud3JhcHBlcntcclxuICAgICAgICAgICAgd2lkdGg6IDk3MHB4O1xyXG4gICAgICAgICAgICAuaW5mb3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAuaWNve1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IHBhZGRpbmc6IDVweDsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgICAgICAgICBpbWd7IHdpZHRoOiAyNXB4OyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7IGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7IHBhZGRpbmctdG9wOiAzcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuICAgICAgICAgICAgICAgICAgICAmLmdyZWVueyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRlYTlhZDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3sgd2lkdGg6IDE1cHg7IHBhZGRpbmctdG9wOiA1cHg7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjF7IGJhY2tncm91bmQtY29sb3I6ICM0ZWMyODc7IH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjJ7IGJhY2tncm91bmQtY29sb3I6ICM0ZWE5YWQ7IH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjN7IGJhY2tncm91bmQtY29sb3I6ICNkNzU4NjY7IH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjR7IGJhY2tncm91bmQtY29sb3I6ICNmMjlhNGU7IH1cclxuICAgICAgICAgICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjV7IGJhY2tncm91bmQtY29sb3I6ICM5YjQyNzQ7IH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYub3Jhbmdle1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY297XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOTRiM2I7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7IHdpZHRoOiAyMHB4OyBwYWRkaW5nLXRvcDogNXB4O31cclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIHB7IGNvbG9yOiAjZjk0YjNiIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHB7IFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTBweCA1MHB4OyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjNGVhOWFkOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyAgXHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5OTk5OTk7IGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JleyBjb250ZW50OiBcIuKAolwiOyBjb2xvcjogI2QxZDFkMTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTVweDt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXR0bGV7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYTsgZm9udC1zaXplOiA0MHB4OyBsaW5lLWhlaWdodDogNTVweDsgY29sb3I6ICM0MTQwNDI7IG1hcmdpbi1ib3R0b206IDEwcHg7fVxyXG4gICAgICAgICAgICAudXNlcntcclxuICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgICAgIC5sZWZ0e1xyXG4gICAgICAgICAgICAgICAgICAgIHB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDU1cHg7IGNvbG9yOiAjNzI3MjcyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFueyBjb2xvcjogI2U5NmNhOTsgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucmlnaHR7IFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcHsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgYXsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyeyBvcGFjaXR5OjAuNzsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbm5lcntcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIC5pbWFnZXMtY29udGVudHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDsgei1pbmRleDogMzsgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICAgICAgaW1neyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgICAgICAuc2hhcmV7ICAgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNzVweDsgdGV4dC1hbGlnbjogY2VudGVyOyBwb3NpdGlvbjogZml4ZWQ7IHJpZ2h0OiAwOyB0b3A6IDYwJTsgd2lkdGg6IDg1cHg7ICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgICAgICAgICAgICAgaDN7IGZvbnQtc2l6ZTogMzBweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGNvbG9yOiAjZTk2Y2E5fVxyXG4gICAgICAgICAgICAgICAgcHsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogJGxhdG87ICBjb2xvcjogI2E4YTlhZTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pc2l7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDk3MHB4OyBtYXJnaW46IDAgYXV0bzsgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICAgICAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyBmb250LWZhbWlseTogJGxhdG87IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzRmNGY1MTsgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBzcGFueyBmb250LXNpemU6IDMycHg7IGxpbmUtaGVpZ2h0OiAzNnB4OyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuamF3YWJhbntcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyBoZWlnaHQ6IGF1dG87IGJvcmRlci1yYWRpdXM6IDM1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyeyBjb250ZW50OlwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMXB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgYm90dG9tOiAtMTEwcHg7fVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb2x7IEBleHRlbmQgLmFmdGVyX2NsZWFyOyAgcG9zaXRpb246IHJlbGF0aXZlO31cclxuICAgICAgICAgICAgICAgICAgICAudGl0dGxleyBmb250LXNpemU6IDI1cHg7IGxpbmUtaGVpZ2h0OiAyNnB4OyBjb2xvcjogIzY2NjY2NjsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5sZWZ0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjMwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmOTRiM2I7IHBhZGRpbmc6IDYwcHggNTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdGV4dC1hbGlnbjogY2VudGVyOyBoZWlnaHQ6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDVweCAwIDBweCA1cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlcy1jb250ZW50eyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IHdpZHRoOiA5MHB4OyBoZWlnaHQ6IDkwcHg7IGJvcmRlci1yYWRpdXM6IDEwMCU7IG1hcmdpbjogMCBhdXRvOyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWd7IGJvcmRlci1yYWRpdXM6IDUwJTsgbWFyZ2luOiBhdXRvOyBvYmplY3QtZml0OiBjb3Zlcjsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMzBweDsgY29sb3I6ICNmZmY7bWFyZ2luLXRvcDogMjBweDsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoNHsgZm9udC1mYW1pbHk6ICRmcmVkb2thOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBjb2xvcjogI2ZmZjt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5yaWdodHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc0MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyBwYWRkaW5nOiA0MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBoZWlnaHQ6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDBweCA1cHggNXB4IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbnsgZm9udC1zaXplOiAxNnB4OyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzk5OTk5OTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBweyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzRmNGY1MTsgZm9udC13ZWlnaHQ6IDQwMDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uaW5mb2dyYWZpcy10ZXJrYWl0e1xyXG4gICAgLndyYXBwZXJ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiA3MHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgICY6YmVmb3JleyBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JkLXNvbHVzaS5wbmcnKSBuby1yZXBlYXQ7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgY29udGVudDogXCJcIjt9XHJcbiAgICAgICAgaDJ7IGZvbnQtc2l6ZTogMzBweDsgY29sb3I6ICM0MjU1OGM7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuY29se1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjkwcHg7IGhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgICAgIC5pbm5lcntcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2YwZjBmMDsgd2lkdGg6IDI3MHB4OyBoZWlnaHQ6IDI0OXB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBtYXJnaW46IDA7QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgZWFzZS1vdXQgMC4yNXMpO1xyXG4gICAgICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAzMHB4OyB0b3A6MTBweDsgYm9yZGVyLXJhZGl1czogMTAwJTsgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGltZ3sgd2lkdGg6IDI1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmltYWdlcy1jb250ZW50eyBvYmplY3QtZml0OiBjb3Zlcjsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyLXJhZGl1czogMTBweDsgbWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgICAgICAuY29udGVudHsgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgXHJcbiAgICAgICAgICAgICAgICAgICAgaDR7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGNvbG9yOiAjNzI3MjcyOyBoZWlnaHQ6IDY1cHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3sgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbmZve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7IGNvbnRlbnQ6IFwi4oCiXCI7IGNvbG9yOiAjZDFkMWQxOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmJ0bi1yb3VuZGVkeyBiYWNrZ3JvdW5kOiM0MjU1OTA7IGJvcmRlcjoxcHggc29saWQgIzQyNTU5MDsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgLmlubmVye1xyXG4gICAgICAgICAgICAgICAgICAgLmJ0bi1yb3VuZGVkeyBiYWNrZ3JvdW5kOiNmZmY7IGJvcmRlcjoxcHggc29saWQgIzQyNTU5MDsgd2lkdGg6IDEwMCU7IGNvbG9yOiAjNDI1NTkwOyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnBlcnRhbnlhYW4tbGFpbntcclxuICAgIG1hcmdpbi10b3A6IDE3MHB4OyBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gICAgLnRpdHRsZXsgbWFyZ2luLWJvdHRvbTogMjBweDsgY29sb3I6ICM0MjU1OGM7fVxyXG59XHJcbi5zdG9yZXtcclxuICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgbWFyZ2luOiAwIC0xMHB4OyBcclxuICAgIGltZ3sgIFxyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMzBweDsgd2lkdGg6IDI3MHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IC13ZWJraXQtYW5pbWF0aW9uOiBmbGFzaCAxLjVzOyBhbmltYXRpb246IGZsYXNoIDEuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XHJcbiAgICAgICAgICAgIDAlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDEwMCUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAa2V5ZnJhbWVzIGZsYXNoIHtcclxuICAgICAgICAgICAgMCUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC1mYW1pbHk6ICRsYXRvO3RleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogLXdlYmtpdC1ib3g7IC13ZWJraXQtbGluZS1jbGFtcDogMzsgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgb3ZlcmZsb3c6IGhpZGRlbjt9XHJcbiAgICAuY29seyBmbG9hdDogbGVmdDsgIHdpZHRoOiAyNSU7IHBhZGRpbmc6IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMTBweDt9XHJcbn1cclxuLnNpZ257XHJcbiAgICBoZWlnaHQ6IDg5MHB4OyBvYmplY3QtZml0OiBjb3Zlcjsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvY29udGVudC9iZy1sb2dpbi5qcGcnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgIC5sb2dpbntcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBoZWlnaHQ6IGF1dG87IHdpZHRoOiA0NzBweDsgcGFkZGluZzogNTVweCA1MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItcmFkaXVzOiAxMHB4OyAtd2Via2l0LWJveC1zaGFkb3c6IDEwcHggMTBweCAxOHB4IC00cHggcmdiYSgwLDAsMCwwLjIxKTsgLW1vei1ib3gtc2hhZG93OiAxMHB4IDEwcHggMThweCAtNHB4IHJnYmEoMCwwLDAsMC4yMSk7IGJveC1zaGFkb3c6IDEwcHggMTBweCAxOHB4IC00cHggcmdiYSgwLDAsMCwwLjIxKTtcclxuICAgICAgICAuaGVhZGVyLWxvZ2lueyBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgICAgICAgICAgaW1neyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XHJcbiAgICAgICAgICAgIGgxeyBmb250LXNpemU6IDQwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzMzMzMzMzsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICBoM3sgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzRmNGY1MTsgbWFyZ2luLWJvdHRvbTogMjBweDsgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm17XHJcbiAgICAgICAgICAgIGZvcm17XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgICAgIC5jb2x7XHJcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7IHdpZHRoOiAzNzBweDsgYm9yZGVyLXJhZGl1czogNXB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7IHBhZGRpbmc6IDAgMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbHsgd2lkdGg6IDEwMHB4OyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzM0ODFhNTsgbWFyZ2luLXRvcDogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0eyB3aWR0aDogNjAlOyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGNvbG9yOiAjZTk2Y2E5OyBib3JkZXI6bm9uZTt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZm9yZ290IGF7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMzBweDsgY29sb3I6ICM2NjY2NjY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcbiAgICAgICAgICAgICAgICAuYnRueyB3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogMTBweDsgaGVpZ2h0OiA1MHB4O31cclxuICAgICAgICAgICAgICAgIC5yZWdpc3sgXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzY2NjY2NjsgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGF7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzAwYTdlYjsgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5sYWJlbC1qa3tcclxuICAgIHdpZHRoOiA0MzBweDsgbWFyZ2luOiAwIGF1dG87ICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgIGF7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiA4MHB4O0BleHRlbmQgLmFmdGVyX2NsZWFyOyBib3JkZXI6MXB4IHNvbGlkICNjZWNlY2U7IGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyBwYWRkaW5nOiAxMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICYubGt7XHJcbiAgICAgICAgICAgICAgICAuaW1neyBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvbWF0ZXJpYWwvbGFraWxha2kucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7IGhlaWdodDogNjBweDsgd2lkdGg6IDEwMHB4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBye1xyXG4gICAgICAgICAgICAgICAgLmltZ3sgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3BlcmVtcHVhbi5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjsgaGVpZ2h0OiA2MHB4OyB3aWR0aDogMTAwcHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW57IGxpbmUtaGVpZ2h0OiA4MHB4OyBjb2xvcjojOTk5OTk5OyBmb250LXNpemU6IDE0cHg7ICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZHsgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9XHJcbiAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWFmMDg7IGJvcmRlcjpub25lO1xyXG4gICAgICAgICAgICAuaW1hZ2VzLWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAmLmxre1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWd7IGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9sYWtpbGFraS5wbmcpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7IGhlaWdodDogNjBweDsgd2lkdGg6IDEwMHB4O31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucHJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltZ3sgYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3BlcmVtcHVhbi5wbmcpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7IGhlaWdodDogNjBweDsgd2lkdGg6IDEwMHB4O31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFueyBjb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuLmFiamFkLXNsaWRle1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnNsaWNrLWFycm93e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA0MCU7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDgwcHg7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBmb250LXNpemU6IDA7IGJvcmRlcjogbm9uZTsgY29sb3I6IHRyYW5zcGFyZW50O3otaW5kZXg6IDI7IHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stcHJldntiYWNrZ3JvdW5kOm5vbmU7IGJvcmRlcjpub25lOyBmb250LXNpemU6IDA7d2lkdGg6IDMwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXRlcmlhbC9zcXVhcmUtYXJyb3ctbGVmdC5qcGcpOyBsZWZ0OiAtNzBweDsgdG9wOiAwO31cclxuICAgIC5zbGljay1uZXh0e2JhY2tncm91bmQ6bm9uZTsgYm9yZGVyOm5vbmU7IGZvbnQtc2l6ZTogMDt3aWR0aDogMzBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL21hdGVyaWFsL3NxdWFyZS1hcnJvdy1yaWdodC5qcGcpOyByaWdodDogLTcwcHg7IHRvcDogMDt9XHJcbiAgICAuYWJqYWR7IFxyXG4gICAgICAgIHdpZHRoOiAxMDUwcHg7IG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIC5saXN0e1xyXG4gICAgICAgICAgICB3aWR0aDogNTJweDsgaGVpZ2h0OiA1MnB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlcjoxcHggc29saWQgI2NlY2VjZTsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICM5OTk5OTk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHBhZGRpbmc6IDEycHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgJi5zbGljay1jdXJyZW50LCAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYWYwODsgY29sb3I6ICNmZmY7IGJvcmRlcjpub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5jb250ZW50e1xyXG4gICAgICAgIG1hcmdpbjogMDBweCA1MHB4IDA7IHBhZGRpbmctdG9wOiAzMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB3aWR0aDogMTE3MHB4O1xyXG4gICAgICAgIC5saXN0e1xyXG4gICAgICAgICAgICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLm5hbWV7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTcwcHg7IG1hcmdpbjogMCBhdXRvOyBAaW5jbHVkZSBjb2x1bW4oMik7ICBjb2x1bW4tZ2FwOjA7XHJcbiAgICAgICAgICAgICAgICAubmFtZS1saXN0eyBcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgcGFkZGluZzogMzBweCAwOyBoZWlnaHQ6IDExMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIGgzeyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMzJweDsgbGluZS1oZWlnaHQ6IDI4cHg7IGNvbG9yOiAjNjY2NjY2OyB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHB7IGZvbnQtZmFtaWx5OiAkbGF0bzsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjhweDsgICBjb2xvcjogIzY2NjY2NjsgbWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluaXRpYWx7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBzcGFueyBmb250LXNpemU6IDcwcHg7IGxpbmUtaGVpZ2h0OiA1MHB4OyBjb2xvcjogI2VlNzE2NDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JleyBiYWNrZ3JvdW5kOnVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JkLXNvbHVzaS5wbmcnKSBuby1yZXBlYXQ7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgY29udGVudDogXCJcIjt9XHJcbiAgICB9XHJcbn1cclxuLnNpa2x1c3tcclxuICAgIC53cmFwcGVyeyB3aWR0aDogOTcwcHg7IG1hcmdpbjogMCBhdXRvO31cclxuICAgIC5mb3JtLXNpa2x1c3tcclxuICAgICAgICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgXHJcbiAgICAgICAgLmNvbHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IGRpc3BsYXk6IGdyaWQ7IG1hcmdpbi1yaWdodDogNTBweDsgbWFyZ2luLXRvcDogLTEwcHg7IHdpZHRoOiA0NyU7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA2MHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlcjpub25lOyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6I2VkZWRlZDsgZm9udC13ZWlnaHQ6IDQwMDsgcGFkZGluZy1sZWZ0OiAzMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O31cclxuICAgICAgICAgICAgLmRhdGVfcGlja3sgYmFja2dyb3VuZDojZWRlZGVkIHVybCguLi9pbWFnZXMvbWF0ZXJpYWwvY2FsZW5kYXIucG5nKSBuby1yZXBlYXQgcmlnaHQ7fSBcclxuICAgICAgICAgICAgbGFiZWx7IG1hcmdpbi1ib3R0b206IDVweDsgZm9udC1mYW1pbHk6ICRmcmVkb2thOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzM0ODFhNTsgfVxyXG4gICAgICAgICAgICAucm91bmRlZC1zdWJtaXR7IG1hcmdpbi10b3A6IDM1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmYTQ1NzM7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYTsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogI2ZmZjsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiAzNXB4OyBwYWRkaW5nOiAwIDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgIHdpZHRoOiAyMzBweDsgbWFyZ2luOiAzNXB4IGF1dG8gMH1cclxuICAgICAgICAgICAgJi5ib3gtYnRueyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46IDAgYXV0byB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5mb3JtYXNpe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLXRvcDogNDBweDsgcGFkZGluZy10b3A6IDUwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG4gICAgICAgIGgzeyBmb250LXNpemU6IDQwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogIzMzMzMzMzsgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxyXG4gICAgICAgIHB7IFxyXG4gICAgICAgICAgICBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGZvbnQtZmFtaWx5OiAkbGF0bzsgY29sb3I6ICM2NjY2NjY7IFxyXG4gICAgICAgICAgICBzcGFueyBjb2xvcjogI2ZhNDU3MzsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZXsgYmFja2dyb3VuZDp1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9iZC1zb2x1c2kucG5nJykgbm8tcmVwZWF0OyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGNvbnRlbnQ6IFwiXCI7fVxyXG4gICAgICAgICY6YWZ0ZXJ7IGJhY2tncm91bmQ6I2VlNzE2NDsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA1cHg7IHdpZHRoOiAxMDAlOyBjb250ZW50OiBcIlwiO31cclxuICAgIH1cclxuICAgIC5rYWxlbmRlcntcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7IFxyXG4gICAgICAgIGgzeyBmb250LXNpemU6IDQ4cHg7IGNvbG9yOiAjZWU3MTY0OyBsaW5lLWhlaWdodDogMzBweDsgIGhlaWdodDogMzAwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XHJcbiAgICAgICAgLmxlZnR7IFxyXG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7IFxyXG4gICAgICAgICAgICAuZGV0YWlse1xyXG4gICAgICAgICAgICAgICAgdWwgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAjNjY2NjY2OyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAzMDBweDsgbGluZS1oZWlnaHQ6IDIwcHg7IG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5zaWtsdXN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgYmFja2dyb3VuZDojZmE0NTczOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGNvbnRlbnQ6IFwiXCI7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGxlZnQ6IDA7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLm92dWxhc2l7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgYmFja2dyb3VuZDojMDBhN2ViOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGNvbnRlbnQ6IFwiXCI7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGxlZnQ6IDA7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHR7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnJlZ2lzdGVye1xyXG4gICAgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7ICBoZWlnaHQ6IDg5MHB4OyBvYmplY3QtZml0OiBjb3Zlcjsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICAuYmd7IGhlaWdodDogODkwcHg7IHdpZHRoOiA2NzVweDsgb2JqZWN0LWZpdDogY292ZXI7IGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvY29udGVudC9iZy1sb2dpbi5qcGcnKSBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMDBweCAwcHg7fVxyXG4gICAgLmZvcm0tcmVnaXN0ZXJ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4OyBtYXJnaW4tdG9wOiAxMjBweDtcclxuICAgICAgICAuaGVhZGVyLWxvZ2lue1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xyXG4gICAgICAgICAgICBoMXsgZm9udC1zaXplOiA0MHB4OyBsaW5lLWhlaWdodDogMzBweDsgY29sb3I6ICMzMzMzMzM7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgICAgICAgICAgaDN7IGZvbnQtc2l6ZTogMThweDsgZm9udC1mYW1pbHk6ICRsYXRvOyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMzBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93X2xpc3R7IFxyXG4gICAgICAgICAgICB3aWR0aDogODg1cHg7IG1hcmdpbjogMCBhdXRvOyBAZXh0ZW5kIC5hZnRlcl9jbGVhcjtcclxuICAgICAgICAgICAgLmNob29zZXtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JleyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxcHg7ICBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBibG9jazsgY29udGVudDogXCJcIjsgdG9wOiAyMzVweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2x7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzowOyBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMil7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMTVweDsgfVxyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb117XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB2aXNpYmlsaXR5OiBoaWRkZW47IHRvcDogMjhweDsgbGVmdDogLTVweDsgei1pbmRleDogMztcclxuICAgICAgICAgICAgICAgICAgICAmOmNoZWNrZWQgfiAuY2hlY2sge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAjZmI3NTk3O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmNoZWNrZWQgfiBsYWJlbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzNDgxYTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnJhZGlvLWxhYmVseyBcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyBmb250LXdlaWdodDogMzAwOyBwYWRkaW5nOiAxOHB4IDI1cHggMjVweCAzMHB4OyBtYXJnaW46IDEwcHggYXV0bzsgaGVpZ2h0OiAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjsgY29sb3I6ICM2NjY2NjY7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hLWNlbnRlcntcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGNvbG9yOiAjNjY2NjY2OyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYXsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjMDBhN2ViOyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2hlY2t7IFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlcjogNXB4IHNvbGlkICNBQUFBQUE7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGhlaWdodDogMTZweDsgd2lkdGg6IDE2cHg7IHRvcDogMzBweDsgbGVmdDogMDsgei1pbmRleDogNTsgdHJhbnNpdGlvbjogYm9yZGVyIC4yNXMgbGluZWFyOyAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAuMjVzIGxpbmVhcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgY29udGVudDogJyc7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGhlaWdodDogMTZweDsgd2lkdGg6IDE2cHg7IHRvcDogNXB4OyBsZWZ0OiA1cHg7IG1hcmdpbjogYXV0bzsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBsaW5lYXI7IC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBsaW5lYXI7IH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zZWxlY3Qtb3B0aW9ueyBkaXNwbGF5OiBub25lIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4jYmxhaHtcclxuICAgIHdpZHRoOiAxNTBweDsgbWFyZ2luOiAyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGJvcmRlci1yYWRpdXM6IDEwMCU7IGhlaWdodDogMTUwcHg7IG9iamVjdC1maXQ6IGNvdmVyOyBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5ucG9zdHtcclxuICAgICNibGFoeyB3aWR0aDogNTAlOyBib3JkZXItcmFkaXVzOiAwOyBtYXJnaW4tbGVmdDogMDt9XHJcbn1cclxuLnNlYXJjaHtcclxuICAgIG1hcmdpbi10b3A6IDE4MHB4O1xyXG4gICAgLmluZm97XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAuaWNve1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyBwYWRkaW5nOiA1cHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgQGV4dGVuZCAuYWZ0ZXJfY2xlYXI7XHJcbiAgICAgICAgICAgIGltZ3sgd2lkdGg6IDE1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgcGFkZGluZy10b3A6IDhweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG4gICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjJ7IGJhY2tncm91bmQtY29sb3I6ICM0ZWE5YWQ7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcHsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6MTBweCA1MHB4OyBmb250LWZhbWlseTogJGxhdG87IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjNGVhOWFkOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm0tc2VhcmNoe1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTk2Y2E5O1xyXG4gICAgICAgIGlucHV0W3R5cGU9dGV4dF17XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7Zm9udC1zaXplOjQwcHg7IGNvbG9yOiAjNDE0MDQyOyBmb250LXdlaWdodDogMzAwOyBib3JkZXI6IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmOyBsaW5lLWhlaWdodDogNTVweDsgcGFkZGluZy1ib3R0b206IDI1cHg7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYSwgc2Fucy1zZXJpZjsgd2lkdGg6IDk1JTtcclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7ICBjb2xvcjogIzQxNDA0MjsgfVxyXG4gICAgICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAjNDE0MDQyOyB9XHJcbiAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAjNDE0MDQyOyB9XHJcbiAgICAgICAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7ICBjb2xvcjogIzQxNDA0MjsgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRde1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY28tc2VhcmNoLnBuZycpIG5vLXJlcGVhdCA1MCUgNTAlOyBib3JkZXI6bm9uZTsgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbntcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjNzI3MjcyOyBsaW5lLWhlaWdodDogNTVweDsgZm9udC1mYW1pbHk6ICRsYXRvO1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1saXN0e1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgLnRpdGxle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LWZhbWlseTogJHJvYm90bzsgY29sb3I6ICMzMzMzMzM7IGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgZm9udC1mYW1pbHk6ICRsYXRvOyBjb2xvcjogIzMzMzsgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgcHsgbGluZS1oZWlnaHQ6IDMwcHg7IGRpc3BsYXk6IC13ZWJraXQtYm94OyAtd2Via2l0LWxpbmUtY2xhbXA6IDI7IC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7IG92ZXJmbG93OiBoaWRkZW47fVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGlzdHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cclxuICAgIH1cclxuICAgIC5wYWdpbmF0aW9ueyBtYXJnaW46IDgwcHggMDsgfVxyXG59XHJcbi5wb3B1cCNwYWthcnBhZ2V7XHJcbiAgICAuaW5wb3B1cHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAuY29udGVudC1wb3B7XHJcbiAgICAgICAgICAgIC5saXN0e1xyXG4gICAgICAgICAgICAgICAgIEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgICAgICAgICAgLmxlZnR7IFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnJpZ2h0eyB3aWR0aDogNjAlOyB9XHJcbiAgICAgICAgICAgICAgICAuc3Blc2lhbGlzeyBmb250LXNpemU6IDE2cHg7IGZvbnQtZmFtaWx5OiAkbGF0bzsgfVxyXG4gICAgICAgICAgICAgICAgLnRpdGxleyBmb250LXNpemU6IDIwcHg7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYTsgY29sb3I6ICMzMzM7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgICAgICAgICAgICAgIHB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qIGZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuZm9vdGVye1xyXG4gICAgaGVpZ2h0OiA1MDBweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwYTdlYjtcclxuICAgIC53cmFwcGVyeyB3aWR0aDogMTYwMHB4OyBAZXh0ZW5kIC5hZnRlcl9jbGVhcjsgfVxyXG4gICAgLmxmLWZvb3R7IFxyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIC5tZW51e1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGF7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICNmZmY7IGxpbmUtaGVpZ2h0OiAzNnB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJoLWZvb3R7IFxyXG4gICAgICAgIGZsb2F0OiByaWdodDsgd2lkdGg6IGF1dG87IEBleHRlbmQgLmFmdGVyX2NsZWFyO1xyXG4gICAgICAgIC5tYWlsaW5ne1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tcmlnaHQ6IDMwMHB4OyBwYWRkaW5nLXRvcDogMTI1cHg7IHdpZHRoOiA1NzBweDsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAubG9nby1mb290ZXJ7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgaDN7IGZvbnQtc2l6ZTogMzZweDsgY29sb3I6ICNmZmY7IGxpbmUtaGVpZ2h0OiAyNHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XHJcbiAgICAgICAgICAgIHB7IFxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0OyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjZmZmOyBsaW5lLWhlaWdodDogMjRweDsgXHJcbiAgICAgICAgICAgICAgICAmLmFsZXJ0LXRvb2x0aXB7IG1hcmdpbi10b3A6IDE3cHg7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudG9vbHRpcHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDsgaGVpZ2h0OiA2MHB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMzBweCk7IGJhY2tncm91bmQ6ICMwZjdkYTk7IGNvbG9yOiAjZmZmOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IG5vbmU7IGJvcmRlcjowOyBib3R0b206IC04MHB4OyByaWdodDogLTEyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IG9wYWNpdHk6IDA7IC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDdweCAyNXB4IC03cHggIzExODZiOTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAyNHB4OyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY28tc3ViYy10b3AucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMjBweDsgbGVmdDogMDsgcmlnaHQ6IDA7IG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGZvcm17IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgICAgICAuYmxvY2tNYWlse1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnRvb2x0aXB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnRuLW1haWxsaXN0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNjBweCk7IGJhY2tncm91bmQ6ICNlNzU4OWEgdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvY2VrbGlzdC5wbmcnKSBuby1yZXBlYXQgY2VudGVyOyBib3JkZXI6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMTBweDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjFzIGJhY2tncm91bmQgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjogI2NhNDk4Nzt9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge2NvbG9yOiAjZWFlYWVhO30gICAgXHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA5NSU7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZDogI2ZmZjsgcGFkZGluZzogMDsgYm9yZGVyOjA7IFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyBwYWRkaW5nOiAwIDE1cHg7IGZvbnQtc2l6ZTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IDNweDtsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDEwcHg7IGZvbnQtZmFtaWx5OiAkZnJlZG9rYTsgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDMwcHgpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7ICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHsgIFxyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyBtYXJnaW46IDEwcHggMCAwIC03MHB4OyB3aWR0aDogODBweDsgaGVpZ2h0OiA2M3B4OyBwYWRkaW5nOiAwOyBib3JkZXI6MDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvbWFpbC1idG4ucG5nJykgbm8tcmVwZWF0IDUwJSA1MCU7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLyomOmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDYwcHgpOyBiYWNrZ3JvdW5kOiAjZTc1ODlhIHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Nla2xpc3QucG5nJykgbm8tcmVwZWF0IGNlbnRlcjsgYm9yZGVyOiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4xcyBiYWNrZ3JvdW5kIGVhc2Utb3V0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye2JhY2tncm91bmQtY29sb3I6ICNjYTQ5ODc7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG9vbHRpcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHtwYWRkaW5nLXRvcDogMTVweDsgcGFkZGluZy1ib3R0b206IDIwOyBmb250LWZhbWlseTogXCJGcmVkb2thIE9uZVwiOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSovXHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NtZWR7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIC5zb2NtZWQtZm9vdGVye1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgICAgICAgICAgIGF7IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvcHl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGF0dHIpe1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGF0dHIpe1xyXG4gICAgdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKXtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm94U2hhZG93KCRhdHRyKXtcclxuICAgIGJveC1zaGFkb3c6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNoYWRvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKXtcclxuICAgIGJveC1zaXppbmc6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNpemluZzogJGF0dHJcclxufVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiBhbmRwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiBib3hTaXppbmcoJGF0dHIpe1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNpemluZzogJGF0dHI7XHJcbiAgICBib3gtc2l6aW5nOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gY29sdW1uKCRhdHRyKXtcclxuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkYXR0cjsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXHJcbiAgICAtbW96LWNvbHVtbi1jb3VudDogJGF0dHI7IC8qIEZpcmVmb3ggKi9cclxuICAgIGNvbHVtbi1jb3VudDogJGF0dHI7XHJcbn1cclxuQG1peGluIGFmdGVyYm90aHtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDpcIlwiO2NsZWFyOiBib3RoO2Rpc3BsYXk6IGJsb2NrO31cclxufVxyXG5cclxuJGZyZWRva2E6ICdGcmVkb2thIE9uZSc7XHJcbiRsYXRvOiAnTGF0byc7XHJcbiRtb250c2VycmF0OiAnTW9udHNlcnJhdCc7XHJcblxyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcblxyXG4kd2hpdGU6ICNmZmY7XHJcbiRibHVlOiAjMDBhN2UxO1xyXG4kcGluazogI2ZhNDU3MztcclxuJHB1cnBsZTogI2ExODZiZTtcclxuJGRhcmtibHVlOiAjNDI1NThjO1xyXG5cclxuLypmb250Ki9cclxuJGZyZWRva2E6ICdGcmVkb2thIE9uZScsIGN1cnNpdmU7XHJcbiRtb250c2VycmF0OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiRsYXRvOiAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRyb2JvdG86ICdSb2JvdG8nLCBzYW5zLXNlcmlmOyIsIi8vIEJvdXJib24gNC4yLjdcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvYXNzZXQtcGlwZWxpbmVcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXG5cbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVzXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBsZW5ndGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3Jcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgICRkaW1lbnNpb246IDEwO1xuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcbiAgQGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHByb3A7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENvbnZlcnRzIHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXguXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IHVucGFjaygxZW0gMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XG4vLy8gICB9XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcblxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRzcGVjOiBudWxsO1xuICAkZGVncmVlOiBudWxsO1xuICAkc2lkZTogbnVsbDtcbiAgJGNvcm5lcjogbnVsbDtcbiAgJGxlbmd0aDogbGVuZ3RoKCRwb3MpO1xuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcbiAgICBAaWYgbnRoKCRwb3MsIDEpID09IFwidG9cIiB7IC8vIE5ld2VyIHN5bnRheFxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcblxuICAgICAgQGlmICRsZW5ndGggPT0gMiB7IC8vIGVnLiB0byB0b3BcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxuICAgICAgJHNpZGU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAxKSk7XG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgIH1cblxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XG4gICAgICAkZGVncmVlOiAkcG9zO1xuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xuICAgICAgJHNwZWM6ICRwb3M7XG4gICAgfVxuICB9XG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xufVxuXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcbiAgQGVhY2ggJHZhbHVlIGluICRnMSwgJGcyIHtcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XG4gICAgfVxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICRnMTogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcbiAgICBAZWxzZSB7XG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjZW50ZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImJvdHRvbVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xuXG4gICAgICAgICAgJHBvczogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZlxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjaXJjbGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY292ZXJcIikge1xuXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcbiAgICAgICAgICAgICRnMjogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemU7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XG5cbiAgLy8gQWRkIGNvbW1hXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XG4gIH1cblxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xuXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcblxuICAvLyBSZXN1bHRcbiAgJHJlc3VsdDogMDtcbiAgJGRpdmlkZXI6IDA7XG4gICRtaW51czogZmFsc2U7XG5cbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlcy4uLikge1xuICAvLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0IHtcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XG59XG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuICAvLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGggKCR3aWR0aDogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICAvLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxuXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXG4vLyAyMDEyIC0gZGlzcGxheSAoZmxleCB8IGlubGluZS1mbGV4KVxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG5cbiAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXG4vLyAyMDExIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAkZGlyZWN0aW9uOiBub3JtYWw7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAvLyBBbHQgdmFsdWVzXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FB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SUFBSTtFQUFFLEtBQUssRUFBRSxHQUFHO0VBQUUsTUFBTSxFQUFFLElBQUk7RUFBRSxVQUFVLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFBRSxDQUFDO0VBQUUsTUFBTSxFQUFDLENBQUM7RUFDN0UsS0FBSyxFQUFFLE9BQU87RUFBRSxPQUFPLEVBQUUsTUFBTTtFQUFFLFNBQVMsRUFBRSxJQUFJO0VBQUUsY0FBYyxFQUFFLEdBQUc7RUFBQyxXQUFXLEVBQUUsSUFBSTtFQUN2RixNQUFNLEVBQUUsYUFBYTtFQUFFLFdBQVcsRUMzNkI1QyxhQUFhLEVBQUUsT0FBTztFQWpFNUIsYUFBYSxFRDYrQnlCLElBQUk7RUM1K0IxQyxxQkFBcUIsRUQ0K0JpQixJQUFJO0VDMytCMUMsa0JBQWtCLEVEMitCb0IsSUFBSTtFQzErQjFDLGlCQUFpQixFRDArQnFCLElBQUk7RUN6K0IxQyxnQkFBZ0IsRUR5K0JzQixJQUFJO0VDNThCMUMsa0JBQWtCLEVENjhCaUIsVUFBVTtFQzU4QjdDLGVBQWUsRUQ0OEJvQixVQUFVO0VDMzhCN0MsVUFBVSxFRDI4QnlCLFVBQVU7Q0FDaEM7O0FBN0NqQixBQThDZ0IsTUE5Q1YsQ0FVRixRQUFRLENBRUosUUFBUSxDQWVKLFVBQVUsQ0FtQk4sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQUUsTUFBTSxFQUFFLGNBQWM7RUFBRSxLQUFLLEVBQUUsSUFBSTtFQUFFLE1BQU0sRUFBRSxJQUFJO0VBQUUsT0FBTyxFQUFFLENBQUM7RUFBRSxNQUFNLEVBQUMsQ0FBQztFQUNwRixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxzQ0FBc0MsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUc7RUFDcEU7Ozs7Ozs7O3VCQVFHO0NBQ047O0FBM0RqQixBQThEUSxNQTlERixDQVVGLFFBQVEsQ0FvREosT0FBTyxDQUFBO0VBQ0gsS0FBSyxFQUFFLEtBQUs7RUFBRSxVQUFVLEVBQUUsS0FBSztDQVFsQzs7QUF2RVQsQUFnRVksTUFoRU4sQ0FVRixRQUFRLENBb0RKLE9BQU8sQ0FFSCxjQUFjLENBQUE7RUFDVixVQUFVLEVBQUUsSUFBSTtDQUVuQjs7QUFuRWIsQUFrRWdCLE1BbEVWLENBVUYsUUFBUSxDQW9ESixPQUFPLENBRUgsY0FBYyxDQUVWLENBQUMsQ0FBQTtFQUFFLFdBQVcsRUFBRSxJQUFJO0NBQUk7O0FBbEV4QyxBQW9FWSxNQXBFTixDQVVGLFFBQVEsQ0FvREosT0FBTyxDQU1ILEtBQUssQ0FBQTtFQUNELFVBQVUsRUFBRSxJQUFJO0VBQUUsS0FBSyxFQUFFLElBQUk7RUFBRSxTQUFTLEVBQUUsSUFBSTtFQUFFLFdBQVcsRUFBRSxJQUFJO0NBQ3BFIiwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
